mindee-lite 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 (510) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +24 -0
  3. data/.gitattributes +14 -0
  4. data/.gitignore +76 -0
  5. data/.gitmodules +3 -0
  6. data/.pre-commit-config.yaml +36 -0
  7. data/.rubocop.yml +49 -0
  8. data/.yardopts +4 -0
  9. data/CHANGELOG.md +515 -0
  10. data/CODE_OF_CONDUCT.md +129 -0
  11. data/CONTRIBUTING.md +107 -0
  12. data/Gemfile +14 -0
  13. data/LICENSE +21 -0
  14. data/README.md +42 -0
  15. data/Rakefile +40 -0
  16. data/Steepfile +30 -0
  17. data/bin/console +14 -0
  18. data/bin/mindee.rb +30 -0
  19. data/bin/v1/parser.rb +153 -0
  20. data/bin/v1/products.rb +88 -0
  21. data/bin/v2/parser.rb +235 -0
  22. data/bin/v2/products.rb +34 -0
  23. data/docs/code_samples/bank_account_details_v1.txt +24 -0
  24. data/docs/code_samples/bank_account_details_v2.txt +24 -0
  25. data/docs/code_samples/bank_statement_fr_v2_async.txt +24 -0
  26. data/docs/code_samples/barcode_reader_v1.txt +24 -0
  27. data/docs/code_samples/cropper_v1.txt +21 -0
  28. data/docs/code_samples/default.txt +30 -0
  29. data/docs/code_samples/default_async.txt +29 -0
  30. data/docs/code_samples/expense_receipts_v5.txt +25 -0
  31. data/docs/code_samples/expense_receipts_v5_async.txt +24 -0
  32. data/docs/code_samples/financial_document_v1.txt +25 -0
  33. data/docs/code_samples/financial_document_v1_async.txt +24 -0
  34. data/docs/code_samples/idcard_fr_v1.txt +24 -0
  35. data/docs/code_samples/idcard_fr_v2.txt +24 -0
  36. data/docs/code_samples/international_id_v2_async.txt +24 -0
  37. data/docs/code_samples/invoice_splitter_v1_async.txt +24 -0
  38. data/docs/code_samples/invoices_v4.txt +25 -0
  39. data/docs/code_samples/invoices_v4_async.txt +24 -0
  40. data/docs/code_samples/multi_receipts_detector_v1.txt +24 -0
  41. data/docs/code_samples/passport_v1.txt +24 -0
  42. data/docs/code_samples/resume_v1_async.txt +24 -0
  43. data/docs/code_samples/v2_classification.txt +30 -0
  44. data/docs/code_samples/v2_crop.txt +30 -0
  45. data/docs/code_samples/v2_extraction.txt +42 -0
  46. data/docs/code_samples/v2_extraction_webhook.txt +45 -0
  47. data/docs/code_samples/v2_ocr.txt +30 -0
  48. data/docs/code_samples/v2_split.txt +30 -0
  49. data/docs/code_samples/workflow_execution.txt +28 -0
  50. data/docs/code_samples/workflow_polling.txt +35 -0
  51. data/examples/auto_invoice_splitter_extraction.rb +48 -0
  52. data/examples/auto_multi_receipts_detector_extraction.rb +30 -0
  53. data/lib/mindee/dependency.rb +29 -0
  54. data/lib/mindee/error/mindee_error.rb +17 -0
  55. data/lib/mindee/error/mindee_http_error.rb +36 -0
  56. data/lib/mindee/error/mindee_http_error_v2.rb +45 -0
  57. data/lib/mindee/error/mindee_http_unknown_error_v2.rb +18 -0
  58. data/lib/mindee/error/mindee_input_error.rb +30 -0
  59. data/lib/mindee/error.rb +6 -0
  60. data/lib/mindee/geometry/min_max.rb +23 -0
  61. data/lib/mindee/geometry/point.rb +41 -0
  62. data/lib/mindee/geometry/polygon.rb +37 -0
  63. data/lib/mindee/geometry/quadrilateral.rb +50 -0
  64. data/lib/mindee/geometry/utils.rb +88 -0
  65. data/lib/mindee/geometry.rb +7 -0
  66. data/lib/mindee/http/.rubocop.yml +7 -0
  67. data/lib/mindee/http/http_error_handler.rb +106 -0
  68. data/lib/mindee/http/response_validation.rb +81 -0
  69. data/lib/mindee/http.rb +3 -0
  70. data/lib/mindee/image/extracted_image.rb +89 -0
  71. data/lib/mindee/image/image_compressor.rb +29 -0
  72. data/lib/mindee/image/image_extractor.rb +118 -0
  73. data/lib/mindee/image/image_utils.rb +165 -0
  74. data/lib/mindee/image.rb +6 -0
  75. data/lib/mindee/input/base_parameters.rb +149 -0
  76. data/lib/mindee/input/local_response.rb +80 -0
  77. data/lib/mindee/input/polling_options.rb +26 -0
  78. data/lib/mindee/input/sources/base64_input_source.rb +31 -0
  79. data/lib/mindee/input/sources/bytes_input_source.rb +21 -0
  80. data/lib/mindee/input/sources/file_input_source.rb +20 -0
  81. data/lib/mindee/input/sources/local_input_source.rb +216 -0
  82. data/lib/mindee/input/sources/path_input_source.rb +20 -0
  83. data/lib/mindee/input/sources/url_input_source.rb +130 -0
  84. data/lib/mindee/input/sources.rb +8 -0
  85. data/lib/mindee/input.rb +4 -0
  86. data/lib/mindee/logging/logger.rb +24 -0
  87. data/lib/mindee/logging.rb +3 -0
  88. data/lib/mindee/page_options.rb +24 -0
  89. data/lib/mindee/pdf/extracted_pdf.rb +70 -0
  90. data/lib/mindee/pdf/pdf_compressor.rb +121 -0
  91. data/lib/mindee/pdf/pdf_extractor.rb +121 -0
  92. data/lib/mindee/pdf/pdf_processor.rb +91 -0
  93. data/lib/mindee/pdf/pdf_tools.rb +201 -0
  94. data/lib/mindee/pdf.rb +7 -0
  95. data/lib/mindee/v1/client.rb +490 -0
  96. data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
  97. data/lib/mindee/v1/extraction.rb +3 -0
  98. data/lib/mindee/v1/http/.rubocop.yml +7 -0
  99. data/lib/mindee/v1/http/endpoint.rb +221 -0
  100. data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
  101. data/lib/mindee/v1/http.rb +4 -0
  102. data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
  103. data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
  104. data/lib/mindee/v1/parsing/common/document.rb +86 -0
  105. data/lib/mindee/v1/parsing/common/execution.rb +78 -0
  106. data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
  107. data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
  108. data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
  109. data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
  110. data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
  111. data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
  112. data/lib/mindee/v1/parsing/common/extras.rb +6 -0
  113. data/lib/mindee/v1/parsing/common/inference.rb +69 -0
  114. data/lib/mindee/v1/parsing/common/job.rb +48 -0
  115. data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
  116. data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
  117. data/lib/mindee/v1/parsing/common/ocr.rb +3 -0
  118. data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
  119. data/lib/mindee/v1/parsing/common/page.rb +49 -0
  120. data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
  121. data/lib/mindee/v1/parsing/common/product.rb +26 -0
  122. data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
  123. data/lib/mindee/v1/parsing/common.rb +15 -0
  124. data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
  125. data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
  126. data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
  127. data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
  128. data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
  129. data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
  130. data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
  131. data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
  132. data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
  133. data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
  134. data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
  135. data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
  136. data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
  137. data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
  138. data/lib/mindee/v1/parsing/standard.rb +15 -0
  139. data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
  140. data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
  141. data/lib/mindee/v1/parsing/universal.rb +4 -0
  142. data/lib/mindee/v1/parsing.rb +5 -0
  143. data/lib/mindee/v1/product/.rubocop.yml +12 -0
  144. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +47 -0
  145. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
  146. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +38 -0
  147. data/lib/mindee/v1/product/cropper/cropper_v1.rb +47 -0
  148. data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
  149. data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
  150. data/lib/mindee/v1/product/financial_document/financial_document_v1.rb +47 -0
  151. data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
  152. data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
  153. data/lib/mindee/v1/product/financial_document/financial_document_v1_line_items.rb +64 -0
  154. data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
  155. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
  156. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
  157. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
  158. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
  159. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
  160. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
  161. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
  162. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
  163. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
  164. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
  165. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
  166. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
  167. data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
  168. data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
  169. data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
  170. data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
  171. data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
  172. data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
  173. data/lib/mindee/v1/product/international_id/international_id_v2.rb +47 -0
  174. data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
  175. data/lib/mindee/v1/product/international_id/international_id_v2_page.rb +38 -0
  176. data/lib/mindee/v1/product/invoice/invoice_v4.rb +47 -0
  177. data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
  178. data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
  179. data/lib/mindee/v1/product/invoice/invoice_v4_line_items.rb +64 -0
  180. data/lib/mindee/v1/product/invoice/invoice_v4_page.rb +38 -0
  181. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rb +47 -0
  182. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
  183. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
  184. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +50 -0
  185. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rb +38 -0
  186. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb +47 -0
  187. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
  188. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +38 -0
  189. data/lib/mindee/v1/product/passport/passport_v1.rb +47 -0
  190. data/lib/mindee/v1/product/passport/passport_v1_document.rb +112 -0
  191. data/lib/mindee/v1/product/passport/passport_v1_page.rb +38 -0
  192. data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
  193. data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
  194. data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
  195. data/lib/mindee/v1/product/receipt/receipt_v5_line_items.rb +56 -0
  196. data/lib/mindee/v1/product/receipt/receipt_v5_page.rb +38 -0
  197. data/lib/mindee/v1/product/resume/resume_v1.rb +47 -0
  198. data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
  199. data/lib/mindee/v1/product/resume/resume_v1_certificates.rb +60 -0
  200. data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
  201. data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
  202. data/lib/mindee/v1/product/resume/resume_v1_educations.rb +66 -0
  203. data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
  204. data/lib/mindee/v1/product/resume/resume_v1_languages.rb +56 -0
  205. data/lib/mindee/v1/product/resume/resume_v1_page.rb +38 -0
  206. data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
  207. data/lib/mindee/v1/product/resume/resume_v1_professional_experiences.rb +70 -0
  208. data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
  209. data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
  210. data/lib/mindee/v1/product/universal/universal.rb +48 -0
  211. data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
  212. data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
  213. data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
  214. data/lib/mindee/v1/product.rb +18 -0
  215. data/lib/mindee/v1.rb +7 -0
  216. data/lib/mindee/v2/client.rb +132 -0
  217. data/lib/mindee/v2/file_operation/crop.rb +51 -0
  218. data/lib/mindee/v2/file_operation/crop_files.rb +25 -0
  219. data/lib/mindee/v2/file_operation/split.rb +37 -0
  220. data/lib/mindee/v2/file_operation/split_files.rb +25 -0
  221. data/lib/mindee/v2/file_operation.rb +6 -0
  222. data/lib/mindee/v2/http/.rubocop.yml +7 -0
  223. data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
  224. data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
  225. data/lib/mindee/v2/http.rb +4 -0
  226. data/lib/mindee/v2/parsing/base_inference.rb +44 -0
  227. data/lib/mindee/v2/parsing/base_response.rb +15 -0
  228. data/lib/mindee/v2/parsing/common_response.rb +20 -0
  229. data/lib/mindee/v2/parsing/error_item.rb +21 -0
  230. data/lib/mindee/v2/parsing/error_response.rb +51 -0
  231. data/lib/mindee/v2/parsing/field/base_field.rb +63 -0
  232. data/lib/mindee/v2/parsing/field/field_confidence.rb +128 -0
  233. data/lib/mindee/v2/parsing/field/field_location.rb +33 -0
  234. data/lib/mindee/v2/parsing/field/inference_fields.rb +105 -0
  235. data/lib/mindee/v2/parsing/field/list_field.rb +79 -0
  236. data/lib/mindee/v2/parsing/field/object_field.rb +138 -0
  237. data/lib/mindee/v2/parsing/field/simple_field.rb +60 -0
  238. data/lib/mindee/v2/parsing/field.rb +9 -0
  239. data/lib/mindee/v2/parsing/inference_active_options.rb +67 -0
  240. data/lib/mindee/v2/parsing/inference_file.rb +38 -0
  241. data/lib/mindee/v2/parsing/inference_job.rb +25 -0
  242. data/lib/mindee/v2/parsing/inference_model.rb +30 -0
  243. data/lib/mindee/v2/parsing/job.rb +93 -0
  244. data/lib/mindee/v2/parsing/job_response.rb +30 -0
  245. data/lib/mindee/v2/parsing/job_webhook.rb +59 -0
  246. data/lib/mindee/v2/parsing/rag_metadata.rb +17 -0
  247. data/lib/mindee/v2/parsing/raw_text.rb +27 -0
  248. data/lib/mindee/v2/parsing/raw_text_page.rb +24 -0
  249. data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
  250. data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
  251. data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
  252. data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
  253. data/lib/mindee/v2/parsing/search.rb +6 -0
  254. data/lib/mindee/v2/parsing.rb +16 -0
  255. data/lib/mindee/v2/product/base_product.rb +28 -0
  256. data/lib/mindee/v2/product/classification/classification.rb +20 -0
  257. data/lib/mindee/v2/product/classification/classification_classifier.rb +25 -0
  258. data/lib/mindee/v2/product/classification/classification_inference.rb +35 -0
  259. data/lib/mindee/v2/product/classification/classification_response.rb +32 -0
  260. data/lib/mindee/v2/product/classification/classification_result.rb +27 -0
  261. data/lib/mindee/v2/product/classification/params/classification_parameters.rb +47 -0
  262. data/lib/mindee/v2/product/crop/crop.rb +20 -0
  263. data/lib/mindee/v2/product/crop/crop_inference.rb +34 -0
  264. data/lib/mindee/v2/product/crop/crop_item.rb +39 -0
  265. data/lib/mindee/v2/product/crop/crop_response.rb +40 -0
  266. data/lib/mindee/v2/product/crop/crop_result.rb +34 -0
  267. data/lib/mindee/v2/product/crop/params/crop_parameters.rb +47 -0
  268. data/lib/mindee/v2/product/extraction/extraction.rb +21 -0
  269. data/lib/mindee/v2/product/extraction/extraction_inference.rb +40 -0
  270. data/lib/mindee/v2/product/extraction/extraction_response.rb +32 -0
  271. data/lib/mindee/v2/product/extraction/extraction_result.rb +44 -0
  272. data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
  273. data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
  274. data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
  275. data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +125 -0
  276. data/lib/mindee/v2/product/ocr/ocr.rb +20 -0
  277. data/lib/mindee/v2/product/ocr/ocr_inference.rb +34 -0
  278. data/lib/mindee/v2/product/ocr/ocr_page.rb +33 -0
  279. data/lib/mindee/v2/product/ocr/ocr_response.rb +32 -0
  280. data/lib/mindee/v2/product/ocr/ocr_result.rb +34 -0
  281. data/lib/mindee/v2/product/ocr/ocr_word.rb +29 -0
  282. data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +47 -0
  283. data/lib/mindee/v2/product/split/params/split_parameters.rb +48 -0
  284. data/lib/mindee/v2/product/split/split.rb +19 -0
  285. data/lib/mindee/v2/product/split/split_inference.rb +34 -0
  286. data/lib/mindee/v2/product/split/split_range.rb +38 -0
  287. data/lib/mindee/v2/product/split/split_response.rb +40 -0
  288. data/lib/mindee/v2/product/split/split_result.rb +34 -0
  289. data/lib/mindee/v2/product.rb +7 -0
  290. data/lib/mindee/v2.rb +7 -0
  291. data/lib/mindee/version.rb +26 -0
  292. data/lib/mindee.rb +135 -0
  293. data/mindee-lite.gemspec +36 -0
  294. data/mindee.gemspec +44 -0
  295. data/sig/custom/marcel.rbs +3 -0
  296. data/sig/custom/mini_magick.rbs +31 -0
  297. data/sig/custom/net_http.rbs +43 -0
  298. data/sig/custom/origami.rbs +59 -0
  299. data/sig/mindee/dependency.rbs +13 -0
  300. data/sig/mindee/error/mindee_error.rbs +13 -0
  301. data/sig/mindee/error/mindee_http_error.rbs +17 -0
  302. data/sig/mindee/error/mindee_http_error_v2.rbs +15 -0
  303. data/sig/mindee/error/mindee_http_unknown_error_v2.rbs +9 -0
  304. data/sig/mindee/error/mindee_input_error.rbs +18 -0
  305. data/sig/mindee/geometry/min_max.rbs +11 -0
  306. data/sig/mindee/geometry/point.rbs +14 -0
  307. data/sig/mindee/geometry/polygon.rbs +12 -0
  308. data/sig/mindee/geometry/quadrilateral.rbs +15 -0
  309. data/sig/mindee/geometry/utils.rbs +13 -0
  310. data/sig/mindee/http/http_error_handler.rbs +15 -0
  311. data/sig/mindee/http/response_validation.rbs +11 -0
  312. data/sig/mindee/image/extracted_image.rbs +21 -0
  313. data/sig/mindee/image/image_compressor.rbs +8 -0
  314. data/sig/mindee/image/image_extractor.rbs +13 -0
  315. data/sig/mindee/image/image_utils.rbs +19 -0
  316. data/sig/mindee/input/base_parameters.rbs +35 -0
  317. data/sig/mindee/input/local_response.rbs +14 -0
  318. data/sig/mindee/input/polling_options.rbs +12 -0
  319. data/sig/mindee/input/sources/base64_input_source.rbs +11 -0
  320. data/sig/mindee/input/sources/bytes_input_source.rbs +10 -0
  321. data/sig/mindee/input/sources/file_input_source.rbs +10 -0
  322. data/sig/mindee/input/sources/local_input_source.rbs +30 -0
  323. data/sig/mindee/input/sources/path_input_source.rbs +10 -0
  324. data/sig/mindee/input/sources/url_input_source.rbs +20 -0
  325. data/sig/mindee/logging/logger.rbs +11 -0
  326. data/sig/mindee/page_options.rbs +11 -0
  327. data/sig/mindee/pdf/extracted_pdf.rbs +17 -0
  328. data/sig/mindee/pdf/pdf_compressor.rbs +15 -0
  329. data/sig/mindee/pdf/pdf_extractor.rbs +19 -0
  330. data/sig/mindee/pdf/pdf_processor.rbs +12 -0
  331. data/sig/mindee/pdf/pdf_tools.rbs +31 -0
  332. data/sig/mindee/v1/client.rbs +84 -0
  333. data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
  334. data/sig/mindee/v1/http/endpoint.rbs +41 -0
  335. data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
  336. data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
  337. data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
  338. data/sig/mindee/v1/parsing/common/document.rbs +32 -0
  339. data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
  340. data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
  341. data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
  342. data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
  343. data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
  344. data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
  345. data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
  346. data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
  347. data/sig/mindee/v1/parsing/common/job.rbs +24 -0
  348. data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
  349. data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
  350. data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
  351. data/sig/mindee/v1/parsing/common/page.rbs +19 -0
  352. data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
  353. data/sig/mindee/v1/parsing/common/product.rbs +16 -0
  354. data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
  355. data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
  356. data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
  357. data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
  358. data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
  359. data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
  360. data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
  361. data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
  362. data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
  363. data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
  364. data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
  365. data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
  366. data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
  367. data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
  368. data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
  369. data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
  370. data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
  371. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +13 -0
  372. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +16 -0
  373. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +17 -0
  374. data/sig/mindee/v1/product/cropper/cropper_v1.rbs +13 -0
  375. data/sig/mindee/v1/product/cropper/cropper_v1_document.rbs +14 -0
  376. data/sig/mindee/v1/product/cropper/cropper_v1_page.rbs +19 -0
  377. data/sig/mindee/v1/product/financial_document/financial_document_v1.rbs +13 -0
  378. data/sig/mindee/v1/product/financial_document/financial_document_v1_document.rbs +49 -0
  379. data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
  380. data/sig/mindee/v1/product/financial_document/financial_document_v1_line_items.rbs +15 -0
  381. data/sig/mindee/v1/product/financial_document/financial_document_v1_page.rbs +17 -0
  382. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +15 -0
  383. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +19 -0
  384. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +19 -0
  385. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rbs +15 -0
  386. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
  387. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rbs +20 -0
  388. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rbs +19 -0
  389. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2.rbs +15 -0
  390. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rbs +31 -0
  391. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rbs +19 -0
  392. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
  393. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rbs +17 -0
  394. data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
  395. data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +26 -0
  396. data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +20 -0
  397. data/sig/mindee/v1/product/fr/id_card/id_card_v2.rbs +15 -0
  398. data/sig/mindee/v1/product/fr/id_card/id_card_v2_document.rbs +31 -0
  399. data/sig/mindee/v1/product/fr/id_card/id_card_v2_page.rbs +21 -0
  400. data/sig/mindee/v1/product/international_id/international_id_v2.rbs +13 -0
  401. data/sig/mindee/v1/product/international_id/international_id_v2_document.rbs +31 -0
  402. data/sig/mindee/v1/product/international_id/international_id_v2_page.rbs +17 -0
  403. data/sig/mindee/v1/product/invoice/invoice_v4.rbs +13 -0
  404. data/sig/mindee/v1/product/invoice/invoice_v4_document.rbs +45 -0
  405. data/sig/mindee/v1/product/invoice/invoice_v4_line_item.rbs +35 -0
  406. data/sig/mindee/v1/product/invoice/invoice_v4_line_items.rbs +15 -0
  407. data/sig/mindee/v1/product/invoice/invoice_v4_page.rbs +17 -0
  408. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rbs +13 -0
  409. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs +17 -0
  410. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +21 -0
  411. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +15 -0
  412. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rbs +17 -0
  413. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
  414. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +15 -0
  415. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +17 -0
  416. data/sig/mindee/v1/product/passport/passport_v1.rbs +13 -0
  417. data/sig/mindee/v1/product/passport/passport_v1_document.rbs +25 -0
  418. data/sig/mindee/v1/product/passport/passport_v1_page.rbs +17 -0
  419. data/sig/mindee/v1/product/receipt/receipt_v5.rbs +13 -0
  420. data/sig/mindee/v1/product/receipt/receipt_v5_document.rbs +33 -0
  421. data/sig/mindee/v1/product/receipt/receipt_v5_line_item.rbs +27 -0
  422. data/sig/mindee/v1/product/receipt/receipt_v5_line_items.rbs +15 -0
  423. data/sig/mindee/v1/product/receipt/receipt_v5_page.rbs +17 -0
  424. data/sig/mindee/v1/product/resume/resume_v1.rbs +13 -0
  425. data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
  426. data/sig/mindee/v1/product/resume/resume_v1_certificates.rbs +17 -0
  427. data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
  428. data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
  429. data/sig/mindee/v1/product/resume/resume_v1_educations.rbs +17 -0
  430. data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
  431. data/sig/mindee/v1/product/resume/resume_v1_languages.rbs +17 -0
  432. data/sig/mindee/v1/product/resume/resume_v1_page.rbs +19 -0
  433. data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
  434. data/sig/mindee/v1/product/resume/resume_v1_professional_experiences.rbs +17 -0
  435. data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
  436. data/sig/mindee/v1/product/resume/resume_v1_social_networks_urls.rbs +17 -0
  437. data/sig/mindee/v1/product/universal/universal.rbs +16 -0
  438. data/sig/mindee/v1/product/universal/universal_document.rbs +12 -0
  439. data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
  440. data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
  441. data/sig/mindee/v2/client.rbs +29 -0
  442. data/sig/mindee/v2/file_operation/crop.rbs +10 -0
  443. data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
  444. data/sig/mindee/v2/file_operation/split.rbs +11 -0
  445. data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
  446. data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
  447. data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
  448. data/sig/mindee/v2/parsing/base_inference.rbs +18 -0
  449. data/sig/mindee/v2/parsing/base_response.rbs +11 -0
  450. data/sig/mindee/v2/parsing/common_response.rbs +12 -0
  451. data/sig/mindee/v2/parsing/error_item.rbs +13 -0
  452. data/sig/mindee/v2/parsing/error_response.rbs +20 -0
  453. data/sig/mindee/v2/parsing/field/base_field.rbs +17 -0
  454. data/sig/mindee/v2/parsing/field/field_confidence.rbs +30 -0
  455. data/sig/mindee/v2/parsing/field/field_location.rbs +16 -0
  456. data/sig/mindee/v2/parsing/field/inference_fields.rbs +20 -0
  457. data/sig/mindee/v2/parsing/field/list_field.rbs +23 -0
  458. data/sig/mindee/v2/parsing/field/object_field.rbs +27 -0
  459. data/sig/mindee/v2/parsing/field/simple_field.rbs +16 -0
  460. data/sig/mindee/v2/parsing/inference_active_options.rbs +26 -0
  461. data/sig/mindee/v2/parsing/inference_file.rbs +17 -0
  462. data/sig/mindee/v2/parsing/inference_job.rbs +13 -0
  463. data/sig/mindee/v2/parsing/inference_model.rbs +12 -0
  464. data/sig/mindee/v2/parsing/job.rbs +24 -0
  465. data/sig/mindee/v2/parsing/job_response.rbs +14 -0
  466. data/sig/mindee/v2/parsing/job_webhook.rbs +19 -0
  467. data/sig/mindee/v2/parsing/rag_metadata.rbs +13 -0
  468. data/sig/mindee/v2/parsing/raw_text.rbs +12 -0
  469. data/sig/mindee/v2/parsing/raw_text_page.rbs +11 -0
  470. data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
  471. data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
  472. data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
  473. data/sig/mindee/v2/parsing/search_models.rbs +14 -0
  474. data/sig/mindee/v2/product/base_product.rbs +19 -0
  475. data/sig/mindee/v2/product/classification/classification.rbs +10 -0
  476. data/sig/mindee/v2/product/classification/classification_classifier.rbs +15 -0
  477. data/sig/mindee/v2/product/classification/classification_inference.rbs +15 -0
  478. data/sig/mindee/v2/product/classification/classification_response.rbs +23 -0
  479. data/sig/mindee/v2/product/classification/classification_result.rbs +15 -0
  480. data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +23 -0
  481. data/sig/mindee/v2/product/crop/crop.rbs +10 -0
  482. data/sig/mindee/v2/product/crop/crop_inference.rbs +14 -0
  483. data/sig/mindee/v2/product/crop/crop_item.rbs +18 -0
  484. data/sig/mindee/v2/product/crop/crop_response.rbs +25 -0
  485. data/sig/mindee/v2/product/crop/crop_result.rbs +14 -0
  486. data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +23 -0
  487. data/sig/mindee/v2/product/extraction/extraction.rbs +15 -0
  488. data/sig/mindee/v2/product/extraction/extraction_inference.rbs +19 -0
  489. data/sig/mindee/v2/product/extraction/extraction_response.rbs +24 -0
  490. data/sig/mindee/v2/product/extraction/extraction_result.rbs +18 -0
  491. data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
  492. data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
  493. data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
  494. data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +38 -0
  495. data/sig/mindee/v2/product/ocr/ocr.rbs +10 -0
  496. data/sig/mindee/v2/product/ocr/ocr_inference.rbs +14 -0
  497. data/sig/mindee/v2/product/ocr/ocr_page.rbs +15 -0
  498. data/sig/mindee/v2/product/ocr/ocr_response.rbs +23 -0
  499. data/sig/mindee/v2/product/ocr/ocr_result.rbs +14 -0
  500. data/sig/mindee/v2/product/ocr/ocr_word.rbs +15 -0
  501. data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +24 -0
  502. data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +23 -0
  503. data/sig/mindee/v2/product/split/split.rbs +10 -0
  504. data/sig/mindee/v2/product/split/split_inference.rbs +14 -0
  505. data/sig/mindee/v2/product/split/split_range.rbs +18 -0
  506. data/sig/mindee/v2/product/split/split_response.rbs +25 -0
  507. data/sig/mindee/v2/product/split/split_result.rbs +14 -0
  508. data/sig/mindee/version.rbs +6 -0
  509. data/sig/mindee.rbs +62 -0
  510. metadata +600 -0
data/lib/mindee.rb ADDED
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'mindee/logging'
4
+ require 'mindee/page_options'
5
+ require 'mindee/v1'
6
+ require 'mindee/v2'
7
+
8
+ module Mindee
9
+ # Dependency management
10
+ module Dependency
11
+ end
12
+
13
+ # Mindee internal error module.
14
+ module Error
15
+ end
16
+
17
+ # Custom extraction module
18
+ module Extraction
19
+ end
20
+
21
+ # Mindee internal http module.
22
+ module HTTP
23
+ end
24
+
25
+ # PDF-specific operations.
26
+ module PDF
27
+ end
28
+
29
+ # Document handling.
30
+ module Input
31
+ # Document source handling.
32
+ module Source
33
+ end
34
+ end
35
+
36
+ module Image
37
+ # Miscellaneous image operations.
38
+ module ImageUtils
39
+ end
40
+
41
+ # Image compressor module to handle image compression.
42
+ module ImageCompressor
43
+ end
44
+ end
45
+
46
+ # Logging
47
+ module Logging
48
+ end
49
+
50
+ # Document input-related internals.
51
+ module Input
52
+ end
53
+
54
+ # Collection of all internal products.
55
+ module Product
56
+ # Europe-specific products.
57
+ module EU
58
+ end
59
+
60
+ # France-specific products.
61
+ module FR
62
+ end
63
+
64
+ # Indian-specific products.
65
+ module IND
66
+ end
67
+
68
+ # US-specific products.
69
+ module US
70
+ end
71
+ end
72
+
73
+ # V1-specific module.
74
+ module V1
75
+ # HTTP module for V1.
76
+ module HTTP
77
+ end
78
+
79
+ # Parsing internals and fields.
80
+ module Parsing
81
+ # Common fields and functions.
82
+ module Common
83
+ end
84
+
85
+ # Standard fields and functions.
86
+ module Standard
87
+ end
88
+
89
+ # Universal fields and functions.
90
+ module Universal
91
+ end
92
+ end
93
+
94
+ # V1-specific products.
95
+ module Product
96
+ # French products.
97
+ module FR
98
+ end
99
+ end
100
+ end
101
+
102
+ # V2-specific module.
103
+ module V2
104
+ # Mindee internal http module.
105
+ module HTTP
106
+ end
107
+
108
+ # File operations.
109
+ module FileOperation
110
+ # Crop operations.
111
+ module Crop
112
+ end
113
+
114
+ # Split operations.
115
+ module Split
116
+ end
117
+ end
118
+
119
+ # Product-specific module.
120
+ module Product
121
+ end
122
+
123
+ # V2 parsing module.
124
+ module Parsing
125
+ # V2 search module.
126
+ module Search
127
+ end
128
+ end
129
+ end
130
+ end
131
+
132
+ # Shorthand to call the logger from anywhere.
133
+ def logger
134
+ Mindee::Logging.logger
135
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/mindee/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'mindee-lite'
7
+ spec.version = Mindee::VERSION
8
+ spec.authors = ['Mindee, SA']
9
+ spec.email = ['opensource@mindee.co']
10
+
11
+ spec.summary = 'Mindee API Helper Library for Ruby (Lite)'
12
+ spec.description = "Quickly and easily connect to Mindee's API services using Ruby. This lite version omits " \
13
+ 'heavy image and PDF processing dependencies.'
14
+ spec.homepage = 'https://github.com/mindee/mindee-api-ruby'
15
+ spec.license = 'MIT'
16
+
17
+ spec.metadata['homepage_uri'] = 'https://mindee.com/'
18
+ spec.metadata['source_code_uri'] = 'https://github.com/mindee/mindee-api-ruby'
19
+ spec.metadata['changelog_uri'] = 'https://github.com/mindee/mindee-api-ruby/blob/main/CHANGELOG.md'
20
+ spec.metadata['rubygems_mfa_required'] = 'true'
21
+
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(.github|spec|features)/}) }
24
+ end
25
+ spec.bindir = 'bin'
26
+ spec.executables = Dir.children('bin')
27
+ .select { |f| File.file?(File.join('bin', f)) }
28
+ .reject { |f| f == 'products.rb' }
29
+ spec.require_paths = ['lib']
30
+
31
+ spec.required_ruby_version = Gem::Requirement.new('>= 3.2')
32
+
33
+ spec.add_dependency 'base64', '~> 0.3'
34
+ spec.add_dependency 'logger', '~> 1.7'
35
+ spec.add_dependency 'marcel', '~> 1.1'
36
+ end
data/mindee.gemspec ADDED
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/mindee/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'mindee'
7
+ spec.version = Mindee::VERSION
8
+ spec.authors = ['Mindee, SA']
9
+ spec.email = ['opensource@mindee.co']
10
+
11
+ spec.summary = 'Mindee API Helper Library for Ruby'
12
+ spec.description = "Quickly and easily connect to Mindee's API services using Ruby."
13
+ spec.homepage = 'https://github.com/mindee/mindee-api-ruby'
14
+ spec.license = 'MIT'
15
+
16
+ spec.metadata['homepage_uri'] = 'https://mindee.com/'
17
+ spec.metadata['source_code_uri'] = 'https://github.com/mindee/mindee-api-ruby'
18
+ spec.metadata['changelog_uri'] = 'https://github.com/mindee/mindee-api-ruby/blob/main/CHANGELOG.md'
19
+ spec.metadata['rubygems_mfa_required'] = 'true'
20
+
21
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(.github|spec|features)/}) }
23
+ end
24
+ spec.bindir = 'bin'
25
+ spec.executables = Dir.children('bin')
26
+ .select { |f| File.file?(File.join('bin', f)) }
27
+ .reject { |f| f == 'products.rb' }
28
+ spec.require_paths = ['lib']
29
+
30
+ spec.required_ruby_version = Gem::Requirement.new('>= 3.2')
31
+
32
+ spec.add_dependency 'base64', '~> 0.3'
33
+ spec.add_dependency 'logger', '~> 1.7'
34
+ spec.add_dependency 'marcel', '~> 1.1'
35
+ spec.add_dependency 'mini_magick', '>= 4', '< 6'
36
+ spec.add_dependency 'origamindee', '~> 4.0'
37
+ spec.add_dependency 'pdf-reader', '~> 2.15'
38
+
39
+ spec.add_development_dependency 'bundle-audit', '~> 0.2.0'
40
+ spec.add_development_dependency 'rbs', '~> 3.10'
41
+ spec.add_development_dependency 'rubocop', '~> 1.86'
42
+ spec.add_development_dependency 'steep', '~> 1.10'
43
+ spec.add_development_dependency 'yard', '~> 0.9'
44
+ end
@@ -0,0 +1,3 @@
1
+ module Marcel
2
+ MimeType: untyped
3
+ end
@@ -0,0 +1,31 @@
1
+ # Stub for the mini_magick library.
2
+ # NOTE: though typing annotations for the MiniMagick library now exist, it seems that they aren't strict enough
3
+ # to match the rules we have on the repo, hence the existence of this file and the overrides present below.
4
+ module MiniMagick
5
+ class Image
6
+ def self.format: (String, ?Integer?, ?Hash[Symbol, untyped]?) -> Net::BufferedIO
7
+ def format: (String, ?Integer?, ?Hash[Symbol, untyped]?) -> Net::BufferedIO
8
+ def self.quality: (String) -> Net::BufferedIO
9
+ def self.crop: (String) -> Net::BufferedIO
10
+ def crop: (String) -> Net::BufferedIO
11
+ def self.height: () -> Integer
12
+ def self.width: () -> Integer
13
+ def height: () -> Integer
14
+ def width: () -> Integer
15
+ def self.data: (?untyped?, ?untyped?) -> untyped
16
+ def data: (?untyped?, ?untyped) -> instance
17
+ def self.read: (?untyped?, ?untyped?) -> Image
18
+ def read: (?untyped?, ?untyped) -> Image
19
+ def self.resolution: () -> Array[Float | Integer]
20
+ def resolution: () -> Array[Float | Integer]
21
+ def self.write: (StringIO | String) -> Net::BufferedIO
22
+ def write: (StringIO | String) -> Net::BufferedIO
23
+ def quality: (String) -> void
24
+ def self.resize: (String) -> void
25
+ def resize: (String) -> void
26
+ def self.to_blob: () -> String
27
+ def to_blob: () -> String
28
+ def self.[]: (*untyped) -> untyped
29
+ def []: (*untyped) -> untyped
30
+ end
31
+ end
@@ -0,0 +1,43 @@
1
+ # This is a stub of mock type declarations for the net/http standard library, which isn't
2
+ # currently supported by Steep.
3
+ # Do not mess with it unless Steep fixes the handling of this library.
4
+
5
+ module Net
6
+ class BufferedIO
7
+ end
8
+ class HTTP
9
+ def self.start: [T] (String?, Integer?, use_ssl: bool?, ?read_timeout: Integer) { (HTTP) -> T } -> T
10
+
11
+ def request: (untyped) -> untyped
12
+
13
+ # Stub for the HTTP POST request class.
14
+ class Post
15
+ def initialize: (untyped, Hash[String, String?]?) -> void
16
+ def set_form: (untyped, String?) -> void
17
+ def new: (untyped, untyped) -> void
18
+ def []=: (?untyped, ?untyped) -> bool
19
+ end
20
+
21
+ # Stub for the HTTP GET request class.
22
+ class Get
23
+ def initialize: (untyped, ?Hash[String, String?]?) -> void
24
+ def new: (untyped, untyped) -> void
25
+ def basic_auth: (untyped, untyped) -> void
26
+ def []=: (?untyped, ?untyped) -> bool
27
+ end
28
+ end
29
+
30
+ class HTTPResponse
31
+ def self.body: -> String
32
+ def body: -> String
33
+ def []: (untyped) -> untyped
34
+ def key?: (untyped) -> bool
35
+ def code: -> String
36
+ end
37
+
38
+ class HTTPRedirection
39
+ def []: (untyped) -> untyped
40
+ def body: -> untyped
41
+ def code: -> String?
42
+ end
43
+ end
@@ -0,0 +1,59 @@
1
+ # Stubs for the origami library.
2
+ # This one _should_ exist, but it would take too long, so this is a stub.
3
+ module Origami
4
+ def compile: (Hash[Symbol, untyped]) -> void
5
+ class Array
6
+ def each: { (untyped) -> untyped } -> untyped
7
+ end
8
+ class PDF
9
+ def self.read: (StringIO | File) -> untyped
10
+ def initialize: () -> void
11
+ def append_page: (Page) -> void
12
+ def delete_pages_at: (::Array[Integer]) -> void
13
+ def pages: () -> ::Array[Page]
14
+ def save: (StringIO | File) -> void
15
+ def to_io_stream: -> StringIO
16
+ class LinearParser
17
+ def initialize: (Hash[Symbol, untyped]) -> void
18
+ def new: (Hash[Symbol, untyped]) -> void
19
+ def parse: (StringIO | File?) -> PDF
20
+ end
21
+ end
22
+
23
+ class Page
24
+ def initialize: () -> void
25
+ def add_xobject: (Graphics::ImageXObject, String) -> untyped
26
+ def Contents: (?untyped?) -> untyped
27
+ def Contents=: (?untyped?, untyped?) -> untyped
28
+ def []: (untyped) -> untyped
29
+ def []=: (untyped, untyped) -> bool
30
+ end
31
+
32
+ module Graphics
33
+ class ImageXObject
34
+ def initialize: () -> void
35
+
36
+ def BitsPerComponent=: (Integer) -> untyped
37
+ def ColorSpace=: (Symbol) -> untyped
38
+ def dictionary: () -> Hash[Symbol, untyped]
39
+ def data=: (StringIO) -> untyped
40
+ def self.from_image_file: (StringIO, String) -> untyped
41
+ def Height=: (Integer | Float) -> untyped
42
+ def Width=: (Integer | Float) -> untyped
43
+ end
44
+ end
45
+
46
+ class InvalidPDFError < StandardError
47
+ end
48
+
49
+ class Parser
50
+ VERBOSE_QUIET: String
51
+ end
52
+
53
+ class Stream
54
+ def initialize: (?String) -> untyped
55
+ def data : () -> untyped
56
+ def data= : (String | StringIO) -> void
57
+ def dictionary : -> Hash[Symbol, untyped]
58
+ end
59
+ end
@@ -0,0 +1,13 @@
1
+ module Mindee
2
+ module Dependency
3
+ MINDEE_DEPENDENCIES_LOAD_ERROR: String
4
+
5
+ self.@all_deps_available: bool
6
+
7
+ def self.check_all_dependencies: -> bool
8
+
9
+ def self.all_deps_available?: -> bool
10
+ def self.require_all_deps!: -> void
11
+
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # lib/mindee/error/mindee_error.rb
2
+ module Mindee
3
+ module Error
4
+ class MindeeError < StandardError
5
+ end
6
+ class MindeeAPIError < MindeeError
7
+ end
8
+ class MindeeConfigurationError < MindeeError
9
+ end
10
+ class MindeeGeometryError < MindeeError
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ # lib/mindee/error/mindee_http_error.rb
2
+ module Mindee
3
+ module Error
4
+ class MindeeHTTPError < Error::MindeeError
5
+ attr_reader api_code: Integer
6
+ attr_reader api_details: String
7
+ attr_reader api_message: String
8
+ attr_reader status_code: Integer
9
+
10
+ def initialize: (Hash[String | Symbol, untyped], String, Integer) -> void
11
+ end
12
+ class MindeeHTTPClientError < MindeeHTTPError
13
+ end
14
+ class MindeeHTTPServerError < MindeeHTTPError
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # lib/mindee/error/mindee_http_error_v2.rb
2
+ module Mindee
3
+ module Error
4
+ # API V2 HttpError
5
+ class MindeeHTTPErrorV2 < MindeeError
6
+ attr_reader detail: String
7
+ attr_reader status: Integer
8
+ attr_reader code: String
9
+ attr_reader title: String
10
+ attr_reader errors: Array[V2::Parsing::ErrorItem]
11
+
12
+ def initialize: (Hash[String, untyped] | Mindee::V2::Parsing::ErrorResponse) -> void
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,9 @@
1
+ # lib/mindee/error/mindee_http_unknown_error_v2.rb
2
+ module Mindee
3
+ module Error
4
+ # Unknown HTTP error for the V2 API.
5
+ class MindeeHTTPUnknownErrorV2 < MindeeHTTPErrorV2
6
+ def initialize: (Hash[String|Symbol, untyped]) -> void
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,18 @@
1
+ # lib/mindee/error/mindee_input_error.rb
2
+ module Mindee
3
+ module Error
4
+ class MindeeInputError < MindeeError
5
+ end
6
+ class MindeeSourceError < MindeeInputError
7
+ end
8
+ class MindeeMimeTypeError < MindeeSourceError
9
+ attr_reader invalid_mimetype: String
10
+
11
+ def initialize: (String) -> void
12
+ end
13
+ class MindeeImageError < MindeeInputError
14
+ end
15
+ class MindeePDFError < MindeeInputError
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # lib/mindee/geometry/min_max.rb
2
+ module Mindee
3
+ module Geometry
4
+ class MinMax
5
+ attr_reader max: Float
6
+ attr_reader min: Float
7
+
8
+ def initialize: (Float, Float) -> void
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # lib/mindee/geometry/point.rb
2
+ module Mindee
3
+ module Geometry
4
+ class Point
5
+ attr_accessor x: Float
6
+ attr_accessor y: Float
7
+
8
+ def initialize: (Float, Float) -> void
9
+ def []: (Integer) -> Float
10
+
11
+ def to_s: -> String
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # lib/mindee/geometry/polygon.rb
2
+ module Mindee
3
+ module Geometry
4
+ class Polygon < Array[Point]
5
+ def initialize: (Array[::Mindee::Geometry::Point | Array[Float]]) -> void
6
+ def centroid: -> Point
7
+ def point_in_y?: (Point) -> bool
8
+
9
+ def to_s: -> String
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ # lib/mindee/geometry/quadrilateral.rb
2
+ module Mindee
3
+ module Geometry
4
+ class Quadrilateral
5
+ attr_accessor bottom_left: Point
6
+ attr_accessor bottom_right: Point
7
+ attr_accessor top_left: Point
8
+ attr_accessor top_right: Point
9
+
10
+ def initialize: (Point, Point, Point, Point) -> void
11
+ def []: (Integer) -> Point
12
+ def size: -> Integer
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # lib/mindee/geometry/utils.rb
2
+ module Mindee
3
+ module Geometry
4
+ def self.quadrilateral_from_prediction: (Array[Array[Float]]) -> Quadrilateral
5
+ def self.polygon_from_prediction: (Array[Array[Float]]) -> Polygon
6
+ def self.get_bbox: (Array[Point]) -> [Float, Float, Float, Float]
7
+ def self.get_bounding_box: (Array[Point]) -> Quadrilateral
8
+ def self.get_centroid: (Array[Point]) -> Point
9
+ def self.get_min_max_y: (Array[Point]) -> MinMax
10
+ def self.get_min_max_x: (Array[Point]) -> MinMax
11
+ def self.below?: (Array[Point], Array[Point], Float, Float) -> bool
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # lib/mindee/http/http_error_handler.rb
2
+ module Mindee
3
+ module HTTP
4
+ module ErrorHandler
5
+ def extract_error: (Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]?
6
+ def create_error_obj: (Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]
7
+ def self.generate_v2_error: (Hash[String, Integer | String]) -> Error::MindeeHTTPErrorV2
8
+ def generate_v2_error: (Hash[Symbol, String | Integer]) -> Error::MindeeHTTPErrorV2
9
+
10
+ def self.handle_error: (String, Net::HTTPResponse) -> Error::MindeeHTTPError
11
+ def handle_error: (String, Net::HTTPResponse) -> Error::MindeeHTTPError
12
+ def handle_v2_error: (Hash[String | Symbol, untyped]) -> void
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # lib/mindee/http/response_validation.rb
2
+ module Mindee
3
+ module HTTP
4
+ module ResponseValidation
5
+ def self.valid_sync_response?: (Net::HTTPResponse) -> bool
6
+ def self.valid_v2_response?: (Net::HTTPResponse) -> bool
7
+ def self.valid_async_response?: (Net::HTTPResponse) -> bool
8
+ def self.clean_request!: (Net::HTTPResponse) -> void
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ # lib/mindee/image/extracted_image.rb
2
+ module Mindee
3
+ module Image
4
+ class ExtractedImage
5
+ def logger: () -> Logger
6
+ def page_id: -> Integer
7
+ def element_id: -> Integer
8
+ def buffer: -> StringIO
9
+ def filename: -> String
10
+ def initialize: (
11
+ Input::Source::LocalInputSource | Input::Source::BytesInputSource,
12
+ Integer,
13
+ Integer?,
14
+ ?preserve_input_filename: bool
15
+ ) -> Integer
16
+ def write_to_file: (String, ?String?) -> void
17
+ def as_source: -> Input::Source::BytesInputSource
18
+ def as_input_source: -> Input::Source::BytesInputSource
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ # lib/mindee/image/image_compressor.rb
2
+ module Mindee
3
+ module Image
4
+ module ImageCompressor
5
+ def self.compress_image: (MiniMagick::Image | StringIO | File, ?quality: Integer | Float?, ?max_width: Integer | Float?, ?max_height: Integer | Float?) -> StringIO
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ # lib/mindee/image/image_extractor.rb
2
+ module Mindee
3
+ module Image
4
+ module ImageExtractor
5
+ def self.attach_image_as_new_file: (StringIO | File, ?format: String) -> Origami::PDF
6
+ def self.to_blob: () -> String
7
+ def self.extract_multiple_images_from_source: (Input::Source::LocalInputSource, Integer, Array[Array[Geometry::Point] |Geometry::Polygon | Geometry::Quadrilateral]) -> Array[ExtractedImage]
8
+ def self.extract_images_from_polygons: (Input::Source::LocalInputSource, StringIO | File, Integer, Array[Array[Geometry::Point] | Geometry::Polygon | Geometry::Quadrilateral]) -> Array[ExtractedImage]
9
+ def self.create_extracted_image: (StringIO | File, String, Integer, Integer) -> ExtractedImage
10
+ def self.load_input_source_pdf_page_as_stringio: (Input::Source::LocalInputSource, Integer) -> (StringIO | File)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # lib/mindee/image/image_utils.rb
2
+ module Mindee
3
+ module Image
4
+ module ImageUtils
5
+ def self.resize_image: (MiniMagick::Image, Integer, Integer) -> void
6
+ def self.compress_image_quality: (MiniMagick::Image, untyped) -> void
7
+ def self.to_image: (MiniMagick::Image | StringIO | IO | File | Tempfile?) -> (MiniMagick::Image)
8
+ def self.image_to_stringio: (MiniMagick::Image, ?String) -> StringIO
9
+ def self.calculate_new_dimensions: (MiniMagick::Image, ?max_width: Integer | Float?, ?max_height: Integer | Float?) -> [Integer, Integer]
10
+ def self.calculate_dimensions_from_media_box: (MiniMagick::Image, Array[Integer]?) -> [Integer, Integer]
11
+ def self.pdf_to_magick_image: (StringIO | File, Integer) -> MiniMagick::Image
12
+ def self.normalize_polygon: (Geometry::Quadrilateral | Geometry::Polygon | Array[Geometry::Point]) -> Geometry::Quadrilateral
13
+ def self.read_page_content: (StringIO | File) -> (MiniMagick::Image)
14
+ def self.crop_image: (MiniMagick::Image, Geometry::MinMax, Geometry::MinMax) -> (MiniMagick::Image)
15
+ def self.write_image_to_buffer: (MiniMagick::Image, StringIO) -> void
16
+ def self.determine_file_extension: (Input::Source::LocalInputSource) -> String?
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,35 @@
1
+ # lib/mindee/input/base_parameters.rb
2
+
3
+ module Mindee
4
+ module Input
5
+ class BaseParameters
6
+ attr_reader self.slug: String
7
+
8
+ def self.from_hash: (params: Hash[String | Symbol, untyped]) -> instance
9
+ def self.load_from_hash: (params: Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]
10
+
11
+ def slug: -> String
12
+
13
+ attr_reader model_id: String
14
+ attr_reader file_alias: String?
15
+ attr_reader webhook_ids: Array[String]?
16
+ attr_reader polling_options: PollingOptions
17
+ attr_reader close_file: bool
18
+
19
+ def initialize: (
20
+ String,
21
+ ?file_alias: String?,
22
+ ?webhook_ids: Array[String]?,
23
+ ?polling_options: Hash[Symbol | String, untyped] | PollingOptions?,
24
+ ?close_file: bool?
25
+ ) -> void
26
+
27
+ def append_form_data: (Array[Array[untyped]]) -> Array[Array[untyped]]
28
+ def validate_async_params: () -> void
29
+
30
+ private
31
+
32
+ def get_clean_polling_options: (Hash[String | Symbol, untyped] | PollingOptions?) -> PollingOptions
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ # lib/mindee/input/local_response.rb
2
+ module Mindee
3
+ module Input
4
+ class LocalResponse
5
+ attr_reader file: StringIO
6
+ def initialize: (File | IO | StringIO | String | Pathname | Tempfile) -> void
7
+ def as_hash: -> Hash[String | Symbol, untyped]
8
+ def self.process_secret_key: (String) -> String
9
+ def get_hmac_signature: (String) -> String
10
+ def valid_hmac_signature?: (String, String) -> bool
11
+ def deserialize_response: (singleton(V2::Parsing::CommonResponse))-> (V2::Parsing::CommonResponse)
12
+ end
13
+ end
14
+ end