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
@@ -0,0 +1,12 @@
1
+ # lib/mindee/input/polling_options.rb
2
+ module Mindee
3
+ module Input
4
+ class PollingOptions
5
+ attr_reader delay_sec: Integer | Float
6
+ attr_reader initial_delay_sec: Integer | Float
7
+ attr_reader max_retries: Integer
8
+
9
+ def initialize: (?initial_delay_sec: Float, ?delay_sec: Float, ?max_retries: Integer) -> Integer
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # lib/mindee/input/sources/base64_input_source.rb
2
+ module Mindee
3
+ module Input
4
+ module Source
5
+ class Base64InputSource < LocalInputSource
6
+ def initialize: (String, String, ?repair_pdf: bool) -> void
7
+ def read_contents: (?close: bool) -> [String?, Hash[:filename, String]]
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ # lib/mindee/input/sources/bytes_input_source.rb
2
+ module Mindee
3
+ module Input
4
+ module Source
5
+ class BytesInputSource < LocalInputSource
6
+ def initialize: (String, String, ?repair_pdf: bool) -> void
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # lib/mindee/input/sources/file_input_source.rb
2
+ module Mindee
3
+ module Input
4
+ module Source
5
+ class FileInputSource < LocalInputSource
6
+ def initialize: (File, String, ?repair_pdf: bool) -> void
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,30 @@
1
+ # lib/mindee/input/sources/local_input_source.rb
2
+ module Mindee
3
+ module Input
4
+ module Source
5
+ ALLOWED_MIME_TYPES: Array[String]
6
+ class LocalInputSource
7
+ attr_reader file_mimetype: String
8
+ attr_reader filename: String
9
+ attr_reader io_stream: StringIO | File
10
+ def initialize: (StringIO | File, String, ?repair_pdf: bool) -> void
11
+
12
+ def fix_pdf!: (?maximum_offset: Integer) -> void
13
+ def self.fix_pdf: (StringIO | File, ?maximum_offset: Integer) -> StringIO
14
+
15
+ def logger: () -> Logger
16
+
17
+ def rescue_broken_pdf: (untyped) -> void
18
+ def pdf?: -> bool
19
+ def apply_page_options: (PageOptions) -> StringIO?
20
+ def process_pdf: (PageOptions) -> StringIO?
21
+ def read_contents: (?close: bool) -> [String?, Hash[:filename, String]]
22
+ def page_count: -> Integer
23
+ def write_to_file: (String?) -> void
24
+ def compress!: (?quality: Integer, ?max_width: Integer?, ?max_height: Integer?, ?force_source_text: bool, ?disable_source_text: bool) -> Integer
25
+ def source_text?: -> bool?
26
+ end
27
+ def self.convert_to_unicode_escape: (String) -> String
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,10 @@
1
+ # lib/mindee/input/sources/path_input_source.rb
2
+ module Mindee
3
+ module Input
4
+ module Source
5
+ class PathInputSource < LocalInputSource
6
+ def initialize: (String, ?repair_pdf: bool) -> void
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ # lib/mindee/input/sources/url_input_source.rb
2
+ module Mindee
3
+ module Input
4
+ module Source
5
+ class URLInputSource
6
+ def url: -> String
7
+ def logger: () -> Logger
8
+ def initialize: (String) -> void
9
+ def write_to_file: (String, ?filename: String?, ?username: String?, ?password: String?, ?token: String?, ?max_redirects: Integer) -> String
10
+ def as_local_input_source: (?filename: String?, ?username: String?, ?password: String?, ?token: String?, ?max_redirects: Integer) -> BytesInputSource?
11
+ def fetch_file_content: (?username: String?, ?password: String?, ?token: String?, ?max_redirects: Integer) -> String
12
+ def extract_filename_from_url: (::URI::File | ::URI::FTP | ::URI::HTTP | ::URI::HTTPS | ::URI::LDAP | ::URI::LDAPS | ::URI::MailTo | ::URI::WS | ::URI::WSS | ::URI::Generic) -> String
13
+ def fill_filename: (String?) -> String
14
+ def make_request: (URI::Generic, Net::HTTP::Get, Integer) -> Net::HTTPRedirection
15
+ def get_file_extension: (String) -> String?
16
+ def generate_file_name: (?extension: String?) -> String
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ module Mindee
2
+ module Logging
3
+ @logger: Logger
4
+
5
+ def self.logger: -> Logger
6
+ def debug: (?untyped?) -> void
7
+ def info: (?untyped?) -> void
8
+
9
+ def self.logger=: (Logger) -> Logger
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # lib/mindee/page_options.rb
2
+
3
+ module Mindee
4
+ class PageOptions
5
+ attr_accessor page_indexes: Array[Integer]
6
+ attr_accessor operation: :KEEP_ONLY | :REMOVE
7
+ attr_accessor on_min_pages: Integer?
8
+
9
+ def initialize: (params: Hash[String | Symbol, untyped]) -> void
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ # lib/mindee/pdf/extracted_pdf.rb
2
+ module Mindee
3
+ module PDF
4
+ class ExtractedPDF
5
+ attr_reader pdf_bytes: StringIO
6
+ attr_reader filename: String
7
+
8
+ def initialize: (StringIO | File, String) -> void
9
+
10
+ def page_count: -> Integer
11
+
12
+ def write_to_file: (String, ?override: bool) -> void
13
+
14
+ def as_input_source: -> Input::Source::BytesInputSource
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # lib/mindee/pdf/pdf_compressor.rb
2
+ PDFReader: untyped
3
+ PDF: untyped
4
+ module Mindee
5
+ module PDF
6
+ module PDFCompressor
7
+ def self.logger: () -> Logger
8
+ def self.compress_pdf: (StringIO | File, ?quality: Integer, ?force_source_text_compression: bool, ?disable_source_text: bool) -> (StringIO | File)
9
+ def self.process_pdf_pages: (Origami::PDF, Integer) -> Array[Origami::Page]
10
+ def self.create_output_pdf: (Array[Origami::Page], bool, StringIO | File) -> Origami::PDF
11
+ def self.inject_text: (StringIO | File, Array[Origami::Page]) -> nil
12
+ def self.process_pdf_page: (StringIO, Integer, Integer, Array[Integer]?) -> Origami::Page
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ # lib/mindee/pdf/pdf_extractor.rb
2
+ module Mindee
3
+ module PDF
4
+ class PDFExtractor
5
+ attr_reader filename: String
6
+ attr_reader source_pdf: StringIO
7
+
8
+ def initialize: (Input::Source::LocalInputSource) -> void
9
+
10
+ def page_count: -> Integer
11
+
12
+ def cut_pages: (Array[Integer]) -> StringIO
13
+
14
+ def extract_sub_documents: (Array[Array[Integer]]) -> Array[ExtractedPDF]
15
+
16
+ def extract_invoices: (Array[V1::Product::InvoiceSplitter::InvoiceSplitterV1InvoicePageGroup] | Array[Array[Integer]], ?strict: bool) -> Array[ExtractedPDF]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ # lib/mindee/pdf/pdf_processor.rb
2
+ module Mindee
3
+ module PDF
4
+ module PDFProcessor
5
+ def self.parse: (StringIO | File, PageOptions) -> StringIO
6
+ def self.indexes_from_keep: (Array[Integer], Array[Integer]) -> (Array[Integer])
7
+ def self.indexes_from_remove: (Array[Integer], Array[Integer]) -> (Array[Integer])
8
+ def self.open_pdf: (StringIO | File) -> Origami::PDF
9
+ def self.get_page: (Origami::PDF, Integer) -> StringIO
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,31 @@
1
+ # lib/mindee/pdf/pdf_tools.rb
2
+ module Mindee
3
+ module PDF
4
+ module PDFTools
5
+ BitsPerComponent: Integer
6
+ ColorSpace: Symbol
7
+ Contents: Origami::Stream
8
+ Height: Integer | Float
9
+ Width: Integer | Float
10
+
11
+ def self.pdf_header?: (StringIO | File) -> bool
12
+
13
+ def to_io_stream: (?Hash[Symbol, untyped]) -> StringIO
14
+ def intents_as_pdfa1: () -> void
15
+ def delinearize!: () -> void
16
+ def linearized?: () -> bool
17
+ def compile: (Hash[String | Symbol, untyped]) -> StringIO
18
+ def output: (Hash[String | Symbol, untyped]) -> String
19
+ def load_all_objects: () -> void
20
+ def self.stream_has_text?: (Origami::Stream) -> bool
21
+ def self.source_text?: (StringIO | File) -> bool
22
+ def self.create_xobject: (MiniMagick::Image) -> Origami::Graphics::ImageXObject
23
+ def self.set_xobject_properties: (Origami::Graphics::ImageXObject, MiniMagick::Image) -> void
24
+ def self.determine_filter: (MiniMagick::Image) -> (:DCTDecode | :FlateDecode | :LZWDecode)
25
+ def self.determine_colorspace: (MiniMagick::Image) -> (:DeviceCMYK | :DeviceGray | :DeviceRGB)
26
+ def self.add_content_to_page: (Origami::Page, String, Integer, Integer) -> void
27
+ def self.set_page_dimensions: (Origami::Page, Integer | Float, Integer | Float) -> void
28
+ def self.process_image_xobject: (MiniMagick::Image | StringIO, Integer, Integer | Float, Integer | Float) -> Origami::Graphics::ImageXObject
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,84 @@
1
+ # lib/v1/mindee/client.rb
2
+
3
+ module Mindee
4
+ module V1
5
+ OTS_OWNER: String
6
+
7
+ class ParseOptions
8
+ attr_accessor all_words: bool
9
+ attr_accessor full_text: bool
10
+ attr_accessor close_file: bool
11
+ attr_accessor page_options: PageOptions
12
+ attr_accessor cropper: bool
13
+ attr_accessor rag: bool
14
+ attr_accessor workflow_id: String?
15
+ attr_accessor initial_delay_sec: Integer | Float
16
+ attr_accessor delay_sec: Integer | Float
17
+ attr_accessor max_retries: Integer
18
+
19
+ def initialize: (params: Hash[String | Symbol, untyped]) -> void
20
+ end
21
+
22
+ class WorkflowOptions
23
+ attr_accessor document_alias: (String?)
24
+ attr_accessor priority: (Symbol?)
25
+ attr_accessor full_text: bool
26
+ attr_accessor rag: bool?
27
+ attr_accessor public_url: (String?)
28
+ attr_accessor page_options: (PageOptions)
29
+ attr_accessor close_file: bool
30
+
31
+ def initialize: (params: Hash[String | Symbol, untyped]) -> void
32
+ end
33
+
34
+ class Client
35
+ @api_key: String?
36
+
37
+ def initialize: (?api_key: String) -> void
38
+
39
+ def logger: () -> Logging
40
+
41
+ def parse: (Input::Source::LocalInputSource | Input::Source::URLInputSource, singleton(V1::Parsing::Common::Inference), ?endpoint: (V1::HTTP::Endpoint?), options: ParseOptions | Hash[String | Symbol, untyped]) -> V1::Parsing::Common::ApiResponse
42
+
43
+ def parse_sync: (Input::Source::LocalInputSource | Input::Source::URLInputSource, singleton(V1::Parsing::Common::Inference), V1::HTTP::Endpoint, ParseOptions) -> V1::Parsing::Common::ApiResponse
44
+
45
+ def enqueue: (Input::Source::LocalInputSource | Input::Source::URLInputSource, singleton(V1::Parsing::Common::Inference), ?endpoint: (V1::HTTP::Endpoint?), options: ParseOptions | Hash[String | Symbol, untyped]) -> V1::Parsing::Common::ApiResponse
46
+
47
+ def parse_queued: (String, singleton(V1::Parsing::Common::Inference), ?endpoint: V1::HTTP::Endpoint?) -> V1::Parsing::Common::ApiResponse
48
+
49
+ def enqueue_and_parse: (Input::Source::URLInputSource | Input::Source::LocalInputSource, singleton(V1::Parsing::Common::Inference), V1::HTTP::Endpoint, ParseOptions) -> V1::Parsing::Common::ApiResponse
50
+
51
+ def execute_workflow: (Input::Source::URLInputSource | Input::Source::LocalInputSource, String, options: (Hash[String | Symbol, untyped] | WorkflowOptions)) -> V1::Parsing::Common::WorkflowResponse
52
+
53
+ def load_prediction: (singleton(V1::Parsing::Common::Inference), Input::LocalResponse) -> V1::Parsing::Common::ApiResponse
54
+
55
+ def source_from_path: (String, ?repair_pdf: bool) -> Input::Source::PathInputSource
56
+
57
+ def source_from_bytes: (String, String, ?repair_pdf: bool) -> Input::Source::BytesInputSource
58
+
59
+ def source_from_b64string: (String, String, ?repair_pdf: bool) -> Input::Source::Base64InputSource
60
+
61
+ def source_from_file: (File, String, ?repair_pdf: bool) -> Input::Source::FileInputSource
62
+
63
+ def source_from_url: (String) -> Input::Source::URLInputSource
64
+
65
+ def create_endpoint: (endpoint_name: String, account_name: String, version: String) -> V1::HTTP::Endpoint
66
+
67
+ private
68
+
69
+ def normalize_parse_options: ((Hash[String | Symbol, untyped] | ParseOptions)) -> ParseOptions
70
+
71
+ def process_pdf_if_required: (Input::Source::LocalInputSource, ParseOptions | WorkflowOptions) -> void
72
+
73
+ def initialize_endpoint: (singleton(V1::Parsing::Common::Inference), ?endpoint_name: String, ?account_name: String, ?version: String) -> V1::HTTP::Endpoint
74
+
75
+ def validate_async_params: (Integer | Float, Integer | Float, Integer) -> void
76
+
77
+ def fix_endpoint_name: (singleton(V1::Parsing::Common::Inference), String?) -> String
78
+
79
+ def fix_account_name: (String) -> String
80
+
81
+ def fix_version: (singleton(V1::Parsing::Common::Inference), String) -> String
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,8 @@
1
+ # lib/mindee/v1/extraction/multi_receipts_extractor.rb
2
+ module Mindee
3
+ module V1
4
+ module Extraction
5
+ def self.extract_receipts: (Input::Source::LocalInputSource, Product::MultiReceiptsDetector::MultiReceiptsDetectorV1) -> Array[Image::ExtractedImage]
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,41 @@
1
+ # lib/mindee/v1/http/endpoint.rb
2
+ module Mindee
3
+ module V1
4
+ module HTTP
5
+ API_KEY_ENV_NAME: String
6
+ API_KEY_DEFAULT: String?
7
+ BASE_URL_ENV_NAME: String
8
+ BASE_URL_DEFAULT: String
9
+ REQUEST_TIMEOUT_ENV_NAME: String
10
+ TIMEOUT_DEFAULT: Integer
11
+ USER_AGENT: String
12
+
13
+ class Endpoint
14
+ attr_reader api_key: String
15
+ attr_reader base_url: String
16
+ attr_reader request_timeout: Integer
17
+ attr_reader url_root: String
18
+
19
+ def logger: () -> Logger
20
+
21
+ def initialize: (String, String, String?, ?api_key: String) -> String
22
+
23
+ def predict: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ParseOptions) -> [Hash[String | Symbol, untyped], String]
24
+
25
+ def predict_async: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ParseOptions) -> [Hash[String | Symbol, untyped], String]
26
+
27
+ def parse_async: (String) -> [Hash[String | Symbol, untyped], String]
28
+
29
+ def predict_req_post: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ParseOptions) -> Net::HTTPResponse
30
+
31
+ def document_queue_req_post: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ParseOptions) -> Net::HTTPResponse
32
+
33
+ def document_queue_req_get: (String) -> Net::HTTPResponse
34
+
35
+ def check_api_key: -> void
36
+
37
+ def configure_ssl: (Net::HTTP) -> void
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,22 @@
1
+ # lib/mindee/v1/http/workflow_endpoint.rb
2
+ module Mindee
3
+ module V1
4
+ module HTTP
5
+ class WorkflowEndpoint
6
+ def api_key: -> String
7
+
8
+ def request_timeout: -> Integer
9
+
10
+ def url: -> String
11
+
12
+ def initialize: (untyped, ?api_key: String) -> String
13
+
14
+ def execute_workflow: (Input::Source::LocalInputSource | Input::Source::URLInputSource, WorkflowOptions) -> [Hash[String, untyped], String]
15
+
16
+ def workflow_execution_req_post: (Input::Source::LocalInputSource | Input::Source::URLInputSource, WorkflowOptions) -> Net::HTTPResponse?
17
+
18
+ def check_api_key: -> nil
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # lib/mindee/v1/parsing/common/api_request.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ class ApiRequest
7
+ def error: -> Hash[String, untyped]
8
+
9
+ def ressources: -> Array[String]
10
+
11
+ def status: -> [RequestStatus, Symbol]
12
+
13
+ def status_code: -> Integer
14
+
15
+ def url: -> String
16
+
17
+ def initialize: (Hash[String, untyped]) -> void
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,31 @@
1
+ # lib/mindee/v1/parsing/common/api_response.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ module JobStatus
7
+ WAITING: :waiting
8
+ PROCESSING: :processing
9
+ COMPLETED: :completed
10
+ FAILURE: :failed
11
+ end
12
+
13
+ module RequestStatus
14
+ FAILURE: :failure
15
+ SUCCESS: :success
16
+ end
17
+
18
+ class ApiResponse
19
+ attr_reader document: Parsing::Common::Document?
20
+ attr_reader job: Parsing::Common::Job?
21
+ attr_reader api_request: Parsing::Common::ApiRequest
22
+ attr_reader raw_http: String
23
+
24
+ def logger: () -> Logger
25
+
26
+ def initialize: (singleton(Parsing::Common::Inference), Hash[String | Symbol, untyped] | Net::HTTPResponse, String) -> void
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ # lib/mindee/v1/parsing/common/document.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ class Document
7
+ def inference: -> Inference
8
+
9
+ def name: -> String
10
+
11
+ def id: -> String
12
+
13
+ def extras: -> Extras::Extras?
14
+
15
+ def ocr: -> OCR::OCR?
16
+
17
+ def n_pages: -> Integer
18
+
19
+ def self.load_ocr: (Hash[String | Symbol, untyped]) -> Parsing::Common::OCR::OCR?
20
+
21
+ def self.extract_extras: (Hash[String | Symbol, untyped]) -> Parsing::Common::Extras::Extras?
22
+
23
+ def initialize: (singleton(Parsing::Common::Inference), Hash[String | Symbol, untyped]) -> void
24
+
25
+ def to_s: -> String
26
+
27
+ def inject_full_text_ocr: (Hash[String | Symbol, untyped]) -> void
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ # lib/mindee/v1/parsing/common/execution.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ class Execution
7
+ attr_reader available_at: Time?
8
+ attr_reader batch_name: String
9
+ attr_reader created_at: Time
10
+ attr_reader file: ExecutionFile
11
+ attr_reader id: String
12
+ attr_reader inference: Inference
13
+ attr_reader priority: Symbol?
14
+ attr_reader reviewed_at: Time?
15
+ attr_reader reviewed_prediction: Prediction?
16
+ attr_reader status: Symbol
17
+ attr_reader type: String?
18
+ attr_reader uploaded_at: Time?
19
+ attr_reader workflow_id: String
20
+
21
+ def initialize: (singleton(Parsing::Common::Inference), Hash[String | Symbol, untyped]) -> void
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # lib/mindee/v1/parsing/common/execution_file.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ class ExecutionFile
7
+ def name: -> String
8
+
9
+ def alias: -> String?
10
+
11
+ def initialize: (Hash[String | Symbol, untyped]) -> void
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # lib/mindee/v1/parsing/common/execution_priority.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ module ExecutionPriority
7
+ LOW: :low
8
+ MEDIUM: :medium
9
+ HIGH: :high
10
+
11
+ def self.to_priority: (untyped) -> (:high | :low | :medium)?
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # lib/mindee/v1/parsing/common/extras/cropper_extra.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ module Extras
7
+ class CropperExtra
8
+ attr_reader croppings: Array[Standard::PositionField]
9
+
10
+ def initialize: (Hash[String | Symbol, untyped], ?Integer?) -> void
11
+
12
+ def to_s: -> String
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ # lib/mindee/v1/parsing/common/extras/extras.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ module Extras
7
+ class Extras
8
+ attr_reader cropper: CropperExtra?
9
+ attr_reader full_text_ocr: FullTextOCRExtra
10
+ attr_reader rag: RAGExtra?
11
+
12
+ def initialize: (Hash[String | Symbol, untyped]) -> void
13
+
14
+ def to_s: -> String
15
+
16
+ def add_artificial_extra: (Hash[String | Symbol, untyped]) -> void
17
+ end
18
+
19
+ def empty?: -> bool
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ module Extras
7
+ class FullTextOCRExtra
8
+ def contents: -> String?
9
+
10
+ def language: -> String?
11
+
12
+ def initialize: (Hash[String | Symbol, untyped]) -> nil
13
+
14
+ def to_s: -> String
15
+
16
+ def <<: (?untyped?) -> untyped
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ # lib/mindee/v1/parsing/common/extras/rag_extra.rb
2
+
3
+ module Mindee
4
+ module V1
5
+ module Parsing
6
+ module Common
7
+ module Extras
8
+ class RAGExtra
9
+ def matching_document_id: -> String?
10
+
11
+ def initialize: (untyped) -> nil
12
+
13
+ def to_s: -> String
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,31 @@
1
+ # lib/mindee/v1/parsing/common/inference.rb
2
+ module Mindee
3
+ module V1
4
+ module Parsing
5
+ module Common
6
+ class Inference
7
+ def self.endpoint_name: () -> String?
8
+
9
+ def self.endpoint_version: () -> String?
10
+
11
+ def self.has_async: () -> bool
12
+
13
+ def self.has_sync: () -> bool
14
+
15
+ attr_reader endpoint_name: String
16
+ attr_reader endpoint_version: String
17
+ attr_reader extras: Extras::Extras
18
+ attr_reader has_async: bool
19
+ attr_reader has_sync: bool
20
+ attr_reader is_rotation_applied: bool
21
+ attr_reader pages: Array[Page]
22
+ attr_reader product: Product
23
+
24
+ def initialize: (Hash[String | Symbol, untyped]) -> void
25
+
26
+ def to_s: -> String
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end