mindee 5.4.0 → 5.6.0

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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/.betterleaks.toml +15 -0
  3. data/.editorconfig +1 -1
  4. data/CHANGELOG.md +14 -0
  5. data/CONTRIBUTING.md +88 -0
  6. data/bin/mindee.rb +4 -1
  7. data/bin/v1/products.rb +0 -6
  8. data/bin/v2/parser.rb +40 -45
  9. data/bin/v2/search_commands.rb +100 -0
  10. data/lib/mindee/v1/client.rb +1 -75
  11. data/lib/mindee/v1/http.rb +0 -1
  12. data/lib/mindee/v1/product.rb +0 -3
  13. data/lib/mindee/v2/client.rb +62 -36
  14. data/lib/mindee/v2/client_options/base_product_parameters.rb +162 -0
  15. data/lib/mindee/v2/client_options/base_search_parameters.rb +51 -0
  16. data/lib/mindee/v2/client_options.rb +4 -0
  17. data/lib/mindee/v2/http/mindee_api_v2.rb +59 -78
  18. data/lib/mindee/v2/parsing/search/base_search_response.rb +47 -0
  19. data/lib/mindee/v2/parsing/search/model_webhook.rb +3 -3
  20. data/lib/mindee/v2/parsing/search/pagination_metadata.rb +1 -1
  21. data/lib/mindee/v2/parsing/search/search_models.rb +2 -1
  22. data/lib/mindee/v2/parsing/search/search_rag_document.rb +60 -0
  23. data/lib/mindee/v2/parsing/search/search_rag_documents.rb +39 -0
  24. data/lib/mindee/v2/parsing/search/search_response.rb +2 -29
  25. data/lib/mindee/v2/parsing/search.rb +5 -1
  26. data/lib/mindee/v2/product/base_product.rb +2 -2
  27. data/lib/mindee/v2/product/classification/classification_classifier.rb +5 -5
  28. data/lib/mindee/v2/product/classification/params/classification_parameters.rb +1 -1
  29. data/lib/mindee/v2/product/crop/crop_item.rb +5 -5
  30. data/lib/mindee/v2/product/crop/params/crop_parameters.rb +1 -1
  31. data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +2 -2
  32. data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +1 -1
  33. data/lib/mindee/v2/product/split/params/split_parameters.rb +1 -1
  34. data/lib/mindee/v2/product/split/split_range.rb +5 -5
  35. data/lib/mindee/v2/search/models/model_search_parameters.rb +54 -0
  36. data/lib/mindee/v2/search/models/model_search_response.rb +28 -0
  37. data/lib/mindee/v2/search/rag_documents/rag_document_search_parameters.rb +52 -0
  38. data/lib/mindee/v2/search/rag_documents/rag_document_search_response.rb +28 -0
  39. data/lib/mindee/v2/search.rb +6 -0
  40. data/lib/mindee/v2.rb +2 -0
  41. data/lib/mindee/version.rb +1 -1
  42. data/mindee.gemspec +1 -1
  43. data/prek.toml +45 -0
  44. data/sig/custom/net_http.rbs +1 -1
  45. data/sig/mindee/v1/client.rbs +1 -15
  46. data/sig/mindee/v2/client.rbs +11 -4
  47. data/sig/mindee/v2/client_options/base_product_parameters.rbs +41 -0
  48. data/sig/mindee/v2/client_options/base_search_parameters.rbs +19 -0
  49. data/sig/mindee/v2/http/mindee_api_v2.rbs +19 -15
  50. data/sig/mindee/v2/parsing/search/base_search_response.rbs +19 -0
  51. data/sig/mindee/v2/parsing/search/search_rag_document.rbs +23 -0
  52. data/sig/mindee/v2/parsing/search/search_rag_documents.rbs +16 -0
  53. data/sig/mindee/v2/parsing/search/search_response.rbs +4 -9
  54. data/sig/mindee/v2/product/base_product.rbs +3 -3
  55. data/sig/mindee/v2/product/classification/classification_classifier.rbs +1 -1
  56. data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +1 -1
  57. data/sig/mindee/v2/product/crop/crop_item.rbs +1 -1
  58. data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +1 -1
  59. data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +1 -1
  60. data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +1 -1
  61. data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +1 -1
  62. data/sig/mindee/v2/product/split/split_range.rbs +1 -1
  63. data/sig/mindee/v2/search/models/model_search_parameters.rbs +22 -0
  64. data/sig/mindee/v2/search/models/model_search_response.rbs +17 -0
  65. data/sig/mindee/v2/search/rag_documents/rag_document_search_parameters.rbs +22 -0
  66. data/sig/mindee/v2/search/rag_documents/rag_document_search_response.rbs +17 -0
  67. metadata +28 -32
  68. data/.pre-commit-config.yaml +0 -36
  69. data/docs/code_samples/bank_account_details_v1.txt +0 -24
  70. data/docs/code_samples/barcode_reader_v1.txt +0 -24
  71. data/docs/code_samples/idcard_fr_v1.txt +0 -24
  72. data/docs/code_samples/workflow_execution.txt +0 -28
  73. data/lib/mindee/input/base_parameters.rb +0 -156
  74. data/lib/mindee/v1/http/workflow_endpoint.rb +0 -93
  75. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +0 -47
  76. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +0 -47
  77. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +0 -38
  78. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +0 -49
  79. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +0 -49
  80. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +0 -40
  81. data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +0 -49
  82. data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +0 -106
  83. data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +0 -57
  84. data/sig/mindee/input/base_parameters.rbs +0 -36
  85. data/sig/mindee/v1/http/workflow_endpoint.rbs +0 -22
  86. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +0 -13
  87. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +0 -16
  88. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +0 -17
  89. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +0 -15
  90. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +0 -19
  91. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +0 -19
  92. data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +0 -15
  93. data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +0 -26
  94. data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +0 -20
@@ -1,106 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
-
5
- module Mindee
6
- module V1
7
- module Product
8
- module FR
9
- module IdCard
10
- # Carte Nationale d'Identité API version 1.1 document data.
11
- class IdCardV1Document < Mindee::V1::Parsing::Common::Prediction
12
- include Mindee::V1::Parsing::Standard
13
-
14
- # The name of the issuing authority.
15
- # @return [Mindee::V1::Parsing::Standard::StringField]
16
- attr_reader :authority
17
- # The date of birth of the card holder.
18
- # @return [Mindee::V1::Parsing::Standard::DateField]
19
- attr_reader :birth_date
20
- # The place of birth of the card holder.
21
- # @return [Mindee::V1::Parsing::Standard::StringField]
22
- attr_reader :birth_place
23
- # The expiry date of the identification card.
24
- # @return [Mindee::V1::Parsing::Standard::DateField]
25
- attr_reader :expiry_date
26
- # The gender of the card holder.
27
- # @return [Mindee::V1::Parsing::Standard::StringField]
28
- attr_reader :gender
29
- # The given name(s) of the card holder.
30
- # @return [Array<Mindee::V1::Parsing::Standard::StringField>]
31
- attr_reader :given_names
32
- # The identification card number.
33
- # @return [Mindee::V1::Parsing::Standard::StringField]
34
- attr_reader :id_number
35
- # Machine Readable Zone, first line
36
- # @return [Mindee::V1::Parsing::Standard::StringField]
37
- attr_reader :mrz1
38
- # Machine Readable Zone, second line
39
- # @return [Mindee::V1::Parsing::Standard::StringField]
40
- attr_reader :mrz2
41
- # The surname of the card holder.
42
- # @return [Mindee::V1::Parsing::Standard::StringField]
43
- attr_reader :surname
44
-
45
- # @param prediction [Hash]
46
- # @param page_id [Integer, nil]
47
- def initialize(prediction, page_id)
48
- super
49
- @authority = Parsing::Standard::StringField.new(
50
- prediction['authority'],
51
- page_id
52
- )
53
- @birth_date = Parsing::Standard::DateField.new(
54
- prediction['birth_date'],
55
- page_id
56
- )
57
- @birth_place = Parsing::Standard::StringField.new(
58
- prediction['birth_place'],
59
- page_id
60
- )
61
- @expiry_date = Parsing::Standard::DateField.new(
62
- prediction['expiry_date'],
63
- page_id
64
- )
65
- @gender = Parsing::Standard::StringField.new(
66
- prediction['gender'],
67
- page_id
68
- )
69
- @given_names = [] # : Array[Parsing::Standard::StringField]
70
- prediction['given_names'].each do |item|
71
- @given_names.push(Parsing::Standard::StringField.new(item, page_id))
72
- end
73
- @id_number = Parsing::Standard::StringField.new(
74
- prediction['id_number'],
75
- page_id
76
- )
77
- @mrz1 = Parsing::Standard::StringField.new(prediction['mrz1'], page_id)
78
- @mrz2 = Parsing::Standard::StringField.new(prediction['mrz2'], page_id)
79
- @surname = Parsing::Standard::StringField.new(
80
- prediction['surname'],
81
- page_id
82
- )
83
- end
84
-
85
- # @return [String]
86
- def to_s
87
- given_names = @given_names.join("\n #{' ' * 15}")
88
- out_str = String.new
89
- out_str << "\n:Identity Number: #{@id_number}".rstrip
90
- out_str << "\n:Given Name(s): #{given_names}".rstrip
91
- out_str << "\n:Surname: #{@surname}".rstrip
92
- out_str << "\n:Date of Birth: #{@birth_date}".rstrip
93
- out_str << "\n:Place of Birth: #{@birth_place}".rstrip
94
- out_str << "\n:Expiry Date: #{@expiry_date}".rstrip
95
- out_str << "\n:Issuing Authority: #{@authority}".rstrip
96
- out_str << "\n:Gender: #{@gender}".rstrip
97
- out_str << "\n:MRZ Line 1: #{@mrz1}".rstrip
98
- out_str << "\n:MRZ Line 2: #{@mrz2}".rstrip
99
- out_str[1..].to_s
100
- end
101
- end
102
- end
103
- end
104
- end
105
- end
106
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../../../parsing'
4
- require_relative 'id_card_v1_document'
5
-
6
- module Mindee
7
- module V1
8
- module Product
9
- module FR
10
- module IdCard
11
- # Carte Nationale d'Identité API version 1.1 page data.
12
- class IdCardV1Page < Mindee::V1::Parsing::Common::Page
13
- # @param prediction [Hash]
14
- def initialize(prediction)
15
- super
16
- @prediction = if prediction['prediction'].empty?
17
- nil
18
- else
19
- IdCardV1PagePrediction.new(
20
- prediction['prediction'],
21
- prediction['id']
22
- )
23
- end
24
- end
25
- end
26
-
27
- # Carte Nationale d'Identité V1 page prediction.
28
- class IdCardV1PagePrediction < IdCardV1Document
29
- include Mindee::V1::Parsing::Standard
30
-
31
- # The side of the document which is visible.
32
- # @return [Mindee::V1::Parsing::Standard::ClassificationField]
33
- attr_reader :document_side
34
-
35
- # @param prediction [Hash]
36
- # @param page_id [Integer, nil]
37
- def initialize(prediction, page_id)
38
- @document_side = Parsing::Standard::ClassificationField.new(
39
- prediction['document_side'],
40
- page_id
41
- )
42
- super
43
- end
44
-
45
- # @return [String]
46
- def to_s
47
- out_str = String.new
48
- out_str << "\n:Document Side: #{@document_side}".rstrip
49
- out_str << "\n#{super}"
50
- out_str
51
- end
52
- end
53
- end
54
- end
55
- end
56
- end
57
- end
@@ -1,36 +0,0 @@
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]) -> BaseParameters
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 | nil,
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
- def polling_options=: (Hash[Symbol | String, untyped] | PollingOptions | nil) -> PollingOptions
30
-
31
- private
32
-
33
- def get_clean_polling_options: (Hash[String | Symbol, untyped] | PollingOptions | nil) -> PollingOptions
34
- end
35
- end
36
- end
@@ -1,22 +0,0 @@
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
@@ -1,13 +0,0 @@
1
- # lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module BarcodeReader
7
- class BarcodeReaderV1 < Parsing::Common::Inference
8
- def initialize: (Hash[String | Symbol, untyped]) -> void
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,16 +0,0 @@
1
- # lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module BarcodeReader
7
- class BarcodeReaderV1Document < Parsing::Common::Prediction
8
- def initialize: (Hash[String | Symbol, untyped], Integer?) -> void
9
- def codes_1d: -> (Array[Parsing::Standard::StringField])
10
- def codes_2d: -> (Array[Parsing::Standard::StringField])
11
- def to_s: -> String
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,17 +0,0 @@
1
- # lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module BarcodeReader
7
- class BarcodeReaderV1Page < Parsing::Common::Page
8
- def initialize: (Hash[String | Symbol, untyped]) -> void
9
- end
10
- class BarcodeReaderV1PagePrediction < BarcodeReaderV1Document
11
- def initialize: (Hash[String | Symbol, untyped], Integer?) -> void
12
- def to_s: -> String
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,15 +0,0 @@
1
- # lib/mindee/v1/product/bank_account_details/bank_account_details_v1.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module FR
7
- module BankAccountDetails
8
- class BankAccountDetailsV1 < Parsing::Common::Inference
9
- def initialize: (Hash[String | Symbol, untyped]) -> void
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,19 +0,0 @@
1
- # lib/mindee/v1/product/bank_account_details/bank_account_details_v1_document.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module FR
7
- module BankAccountDetails
8
- class BankAccountDetailsV1Document < Parsing::Common::Prediction
9
- def initialize: (Hash[String | Symbol, untyped], Integer?) -> void
10
- def account_holder_name: -> (Parsing::Standard::StringField)
11
- def iban: -> (Parsing::Standard::StringField)
12
- def swift: -> (Parsing::Standard::StringField)
13
- def to_s: -> String
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- # lib/mindee/v1/product/bank_account_details/bank_account_details_v1_page.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module FR
7
- module BankAccountDetails
8
- class BankAccountDetailsV1Page < Parsing::Common::Page
9
- def initialize: (Hash[String | Symbol, untyped]) -> void
10
- end
11
- class BankAccountDetailsV1PagePrediction < BankAccountDetailsV1Document
12
- def initialize: (Hash[String | Symbol, untyped], Integer?) -> void
13
- def to_s: -> String
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,15 +0,0 @@
1
- # lib/mindee/v1/product/id_card/id_card_v1.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module FR
7
- module IdCard
8
- class IdCardV1 < Parsing::Common::Inference
9
- def initialize: (Hash[String | Symbol, untyped]) -> void
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,26 +0,0 @@
1
- # lib/mindee/v1/product/id_card/id_card_v1_document.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module FR
7
- module IdCard
8
- class IdCardV1Document < Parsing::Common::Prediction
9
- def initialize: (Hash[String | Symbol, untyped], Integer?) -> void
10
- def authority: -> (Parsing::Standard::StringField)
11
- def birth_date: -> (Parsing::Standard::DateField)
12
- def birth_place: -> (Parsing::Standard::StringField)
13
- def expiry_date: -> (Parsing::Standard::DateField)
14
- def gender: -> (Parsing::Standard::StringField)
15
- def given_names: -> (Array[Parsing::Standard::StringField])
16
- def id_number: -> (Parsing::Standard::StringField)
17
- def mrz1: -> (Parsing::Standard::StringField)
18
- def mrz2: -> (Parsing::Standard::StringField)
19
- def surname: -> (Parsing::Standard::StringField)
20
- def to_s: -> String
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,20 +0,0 @@
1
- # lib/mindee/v1/product/id_card/id_card_v1_page.rb
2
-
3
- module Mindee
4
- module V1
5
- module Product
6
- module FR
7
- module IdCard
8
- class IdCardV1Page < Parsing::Common::Page
9
- def initialize: (Hash[String | Symbol, untyped]) -> void
10
- end
11
- class IdCardV1PagePrediction < IdCardV1Document
12
- def initialize: (Hash[String | Symbol, untyped], Integer?) -> void
13
- def document_side: -> Parsing::Standard::ClassificationField
14
- def to_s: -> String
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end