mindee-lite 5.4.0 → 5.5.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/.git-hooks/pre_commit/gitleaks.rb +19 -0
  3. data/.overcommit.yml +46 -0
  4. data/CHANGELOG.md +8 -0
  5. data/CONTRIBUTING.md +128 -0
  6. data/bin/mindee.rb +4 -1
  7. data/bin/v2/parser.rb +40 -45
  8. data/bin/v2/search_commands.rb +100 -0
  9. data/lib/mindee/v1/client.rb +1 -2
  10. data/lib/mindee/v2/client.rb +18 -11
  11. data/lib/mindee/v2/client_options/base_product_parameters.rb +162 -0
  12. data/lib/mindee/v2/client_options/base_search_parameters.rb +51 -0
  13. data/lib/mindee/v2/client_options.rb +4 -0
  14. data/lib/mindee/v2/http/mindee_api_v2.rb +28 -32
  15. data/lib/mindee/v2/parsing/search/base_search_response.rb +47 -0
  16. data/lib/mindee/v2/parsing/search/model_webhook.rb +3 -3
  17. data/lib/mindee/v2/parsing/search/pagination_metadata.rb +1 -1
  18. data/lib/mindee/v2/parsing/search/search_models.rb +2 -1
  19. data/lib/mindee/v2/parsing/search/search_rag_document.rb +60 -0
  20. data/lib/mindee/v2/parsing/search/search_rag_documents.rb +39 -0
  21. data/lib/mindee/v2/parsing/search/search_response.rb +2 -29
  22. data/lib/mindee/v2/parsing/search.rb +5 -1
  23. data/lib/mindee/v2/product/base_product.rb +2 -2
  24. data/lib/mindee/v2/product/classification/classification_classifier.rb +1 -2
  25. data/lib/mindee/v2/product/classification/params/classification_parameters.rb +1 -1
  26. data/lib/mindee/v2/product/crop/crop_item.rb +1 -2
  27. data/lib/mindee/v2/product/crop/params/crop_parameters.rb +1 -1
  28. data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +2 -2
  29. data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +1 -1
  30. data/lib/mindee/v2/product/split/params/split_parameters.rb +1 -1
  31. data/lib/mindee/v2/product/split/split_range.rb +1 -2
  32. data/lib/mindee/v2/search/models/model_search_parameters.rb +51 -0
  33. data/lib/mindee/v2/search/models/model_search_response.rb +28 -0
  34. data/lib/mindee/v2/search/rag_documents/rag_document_search_parameters.rb +52 -0
  35. data/lib/mindee/v2/search/rag_documents/rag_document_search_response.rb +28 -0
  36. data/lib/mindee/v2/search.rb +6 -0
  37. data/lib/mindee/v2.rb +2 -0
  38. data/lib/mindee/version.rb +1 -1
  39. data/mindee.gemspec +1 -0
  40. data/sig/custom/net_http.rbs +1 -1
  41. data/sig/mindee/v2/client.rbs +7 -4
  42. data/sig/mindee/v2/client_options/base_product_parameters.rbs +41 -0
  43. data/sig/mindee/v2/client_options/base_search_parameters.rbs +19 -0
  44. data/sig/mindee/v2/http/mindee_api_v2.rbs +12 -6
  45. data/sig/mindee/v2/parsing/search/base_search_response.rbs +19 -0
  46. data/sig/mindee/v2/parsing/search/search_rag_document.rbs +23 -0
  47. data/sig/mindee/v2/parsing/search/search_rag_documents.rbs +16 -0
  48. data/sig/mindee/v2/parsing/search/search_response.rbs +4 -9
  49. data/sig/mindee/v2/product/base_product.rbs +3 -3
  50. data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +1 -1
  51. data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +1 -1
  52. data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +1 -1
  53. data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +1 -1
  54. data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +1 -1
  55. data/sig/mindee/v2/search/models/model_search_parameters.rbs +22 -0
  56. data/sig/mindee/v2/search/models/model_search_response.rbs +17 -0
  57. data/sig/mindee/v2/search/rag_documents/rag_document_search_parameters.rbs +22 -0
  58. data/sig/mindee/v2/search/rag_documents/rag_document_search_response.rbs +17 -0
  59. metadata +25 -5
  60. data/.pre-commit-config.yaml +0 -36
  61. data/lib/mindee/input/base_parameters.rb +0 -156
  62. data/sig/mindee/input/base_parameters.rbs +0 -36
@@ -7,7 +7,7 @@ module Mindee
7
7
  # OCR Parameters.
8
8
  module Params
9
9
  # Parameters accepted by the ocr utility v2 endpoint.
10
- class OCRParameters < Mindee::Input::BaseParameters
10
+ class OCRParameters < Mindee::V2::ClientOptions::BaseProductParameters
11
11
  # @return [String] Slug for the endpoint.
12
12
  def self.slug
13
13
  'ocr'
@@ -8,7 +8,7 @@ module Mindee
8
8
  # Split parameters.
9
9
  module Params
10
10
  # Parameters accepted by the split utility v2 endpoint.
11
- class SplitParameters < Mindee::Input::BaseParameters
11
+ class SplitParameters < Mindee::V2::ClientOptions::BaseProductParameters
12
12
  # @return [String] Slug for the endpoint.
13
13
  def self.slug
14
14
  'split'
@@ -17,11 +17,10 @@ module Mindee
17
17
  def initialize(server_response)
18
18
  @page_range = server_response['page_range']
19
19
  @document_type = server_response['document_type']
20
- # rubocop:disable Style/GuardClause
20
+ # rubocop:disable-next Style/GuardClause
21
21
  unless server_response['extraction_response'].nil?
22
22
  @extraction_response = V2::Product::Extraction::ExtractionResponse.new(server_response['extraction_response'])
23
23
  end
24
- # rubocop:enable Style/GuardClause
25
24
  end
26
25
 
27
26
  # String representation.
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module Models
7
+ # Search parameters for models.
8
+ class ModelSearchParameters < Mindee::V2::ClientOptions::BaseSearchParameters
9
+ # @return [String, nil] Case-insensitive search term for the model name.
10
+ attr_reader :name
11
+
12
+ # @return [String, nil] Case-insensitive search term for the model type.
13
+ attr_reader :model_type
14
+
15
+ # @param name [String, nil] Case-insensitive search term for the model name.
16
+ # @param model_type [String, nil] Case-insensitive search term for the model type.
17
+ # @param page [Integer, nil] 1-based page index.
18
+ # @param per_page [Integer, nil] Number of items per page.
19
+ def initialize(name: nil, model_type: nil, page: nil, per_page: nil)
20
+ super(page: page, per_page: per_page)
21
+ @name = name
22
+ @model_type = model_type
23
+ end
24
+
25
+ # @return [String] Slug of searchable resources.
26
+ def self.slug
27
+ 'models'
28
+ end
29
+
30
+ # @return [Class<Mindee::V2::Search::Models::ModelSearchResponse>] Response class for the search.
31
+ def self.response_class
32
+ ModelSearchResponse
33
+ end
34
+
35
+ # Gets the request parameters for the search request.
36
+ # @return [Hash{String => String, Array<String>}]
37
+ def request_parameters
38
+ params = super
39
+
40
+ name = @name
41
+ model_type = @model_type
42
+ params['name'] = name unless name.nil?
43
+ params['model_type'] = model_type unless model_type.nil?
44
+
45
+ params
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module Models
7
+ # Models search response.
8
+ class ModelSearchResponse < Mindee::V2::Parsing::Search::BaseSearchResponse
9
+ # @return [Mindee::V2::Parsing::Search::SearchModels] Paginated list of matching models.
10
+ attr_reader :models
11
+
12
+ # @param raw_response [Hash] The parsed JSON payload from the API.
13
+ def initialize(raw_response)
14
+ super
15
+
16
+ @models = Mindee::V2::Parsing::Search::SearchModels.new(raw_response['models'])
17
+ end
18
+
19
+ # Lines composing the response-specific body (header + items).
20
+ # @return [Array<String>]
21
+ def body_lines
22
+ ['Models', '######', @models.to_s]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module RAGDocuments
7
+ # Search parameters for RAG Documents.
8
+ class RAGDocumentSearchParameters < Mindee::V2::ClientOptions::BaseSearchParameters
9
+ # @return [String] Model identifier to search in.
10
+ attr_reader :model_id
11
+
12
+ # @return [String, nil] Case-insensitive substring search on filename.
13
+ attr_reader :filename
14
+
15
+ # @param model_id [String] Model identifier to search in.
16
+ # @param filename [String, nil] Case-insensitive substring search on filename.
17
+ # @param page [Integer, nil] 1-based page index.
18
+ # @param per_page [Integer, nil] Number of items per page.
19
+ def initialize(model_id:, filename: nil, page: nil, per_page: nil)
20
+ super(page: page, per_page: per_page)
21
+ raise Error::MindeeInputError, 'Model ID is required.' if model_id.nil? || model_id.empty?
22
+
23
+ @model_id = model_id
24
+ @filename = filename
25
+ end
26
+
27
+ # @return [String] Slug of searchable resources.
28
+ def self.slug
29
+ 'rag-documents'
30
+ end
31
+
32
+ # @return [Class<Mindee::V2::Search::RAGDocuments::RAGDocumentSearchResponse>] Response class for the search.
33
+ def self.response_class
34
+ RAGDocumentSearchResponse
35
+ end
36
+
37
+ # Gets the request parameters for the search request.
38
+ # @return [Hash{String => String, Array<String>}]
39
+ def request_parameters
40
+ params = super
41
+
42
+ params['model_id'] = @model_id
43
+ filename = @filename
44
+ params['filename'] = filename unless filename.nil?
45
+
46
+ params
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module RAGDocuments
7
+ # RAG Documents search response.
8
+ class RAGDocumentSearchResponse < Mindee::V2::Parsing::Search::BaseSearchResponse
9
+ # @return [Mindee::V2::Parsing::Search::SearchRAGDocuments] Paginated list of matching RAG documents.
10
+ attr_reader :rag_documents
11
+
12
+ # @param raw_response [Hash] The parsed JSON payload from the API.
13
+ def initialize(raw_response)
14
+ super
15
+
16
+ @rag_documents = Mindee::V2::Parsing::Search::SearchRAGDocuments.new(raw_response['rag_documents'])
17
+ end
18
+
19
+ # Lines composing the response-specific body (header + items).
20
+ # @return [Array<String>]
21
+ def body_lines
22
+ ['RAG Documents', '#############', @rag_documents.to_s]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'search/models/model_search_response'
4
+ require_relative 'search/models/model_search_parameters'
5
+ require_relative 'search/rag_documents/rag_document_search_response'
6
+ require_relative 'search/rag_documents/rag_document_search_parameters'
data/lib/mindee/v2.rb CHANGED
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative 'v2/client_options'
3
4
  require_relative 'v2/client'
4
5
  require_relative 'v2/http'
5
6
  require_relative 'v2/file_operations' if Mindee::Dependencies.all_deps_available?
6
7
  require_relative 'v2/parsing'
8
+ require_relative 'v2/search'
7
9
  require_relative 'v2/product'
@@ -3,7 +3,7 @@
3
3
  # Mindee
4
4
  module Mindee
5
5
  # Current version.
6
- VERSION = '5.4.0'
6
+ VERSION = '5.5.0'
7
7
 
8
8
  # Finds and return the current platform.
9
9
  # @return [Symbol, Hash[String | Symbol, Regexp], Nil?]
data/mindee.gemspec CHANGED
@@ -37,6 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'pdf-reader', '~> 2.15'
38
38
 
39
39
  spec.add_development_dependency 'bundle-audit', '~> 0.2.0'
40
+ spec.add_development_dependency 'overcommit', '~> 0.71'
40
41
  spec.add_development_dependency 'rbs', '~> 3.10'
41
42
  spec.add_development_dependency 'rubocop', '~> 1.86'
42
43
  spec.add_development_dependency 'steep', '~> 1.10'
@@ -6,7 +6,7 @@ module Net
6
6
  class BufferedIO
7
7
  end
8
8
  class HTTP
9
- def self.start: [T] (String?, Integer?, use_ssl: bool?, ?read_timeout: Integer) { (HTTP) -> T } -> T
9
+ def self.start: [T] (String?, Integer?, use_ssl: bool?, ?open_timeout: Integer, ?read_timeout: Integer) { (HTTP) -> T } -> T
10
10
 
11
11
  def request: (untyped) -> untyped
12
12
 
@@ -15,15 +15,18 @@ module Mindee
15
15
 
16
16
  def get_job: (String job_id) -> V2::Parsing::JobResponse
17
17
 
18
- def enqueue: [T] (HTTP::_ProductClass[T] product, Input::Source::LocalInputSource | Input::Source::URLInputSource, Hash[String | Symbol, untyped] | Input::BaseParameters params) -> V2::Parsing::JobResponse
18
+ def enqueue: [T] (HTTP::_ProductClass[T] product, Input::Source::LocalInputSource | Input::Source::URLInputSource, Hash[String | Symbol, untyped] | ClientOptions::BaseProductParameters params) -> V2::Parsing::JobResponse
19
19
 
20
- def enqueue_and_get_result: [T] (HTTP::_ProductClass[T] product, Input::Source::LocalInputSource | Input::Source::URLInputSource, Hash[String | Symbol, untyped] | Input::BaseParameters params, ?Hash[String | Symbol, untyped] | Input::PollingOptions | nil) -> T
20
+ def enqueue_and_get_result: [T] (HTTP::_ProductClass[T] product, Input::Source::LocalInputSource | Input::Source::URLInputSource, Hash[String | Symbol, untyped] | ClientOptions::BaseProductParameters params, ?Hash[String | Symbol, untyped] | Input::PollingOptions | nil) -> T
21
21
 
22
- def search_models: (String?, String?) -> Mindee::V2::Parsing::Search::SearchResponse
22
+ def search: [T] (HTTP::_SearchParameters[T] params) -> T
23
+
24
+ # Deprecated: use `search` instead.
25
+ def search_models: (String?, String?) -> Mindee::V2::Search::Models::ModelSearchResponse
23
26
 
24
27
  def validate_async_params: (Integer | Float, Integer | Float, Integer) -> void
25
28
 
26
- def normalize_parameters: (singleton(Input::BaseParameters) param_class, Hash[String | Symbol, untyped] | Input::BaseParameters params, ?polling_options: Hash[String | Symbol, untyped] | Input::PollingOptions | nil) -> Input::BaseParameters
29
+ def normalize_parameters: (singleton(ClientOptions::BaseProductParameters) param_class, Hash[String | Symbol, untyped] | ClientOptions::BaseProductParameters params, ?polling_options: Hash[String | Symbol, untyped] | Input::PollingOptions | nil) -> ClientOptions::BaseProductParameters
27
30
  end
28
31
  end
29
32
  end
@@ -0,0 +1,41 @@
1
+ # lib/mindee/v2/client_options/base_product_parameters.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module ClientOptions
6
+ class BaseProductParameters
7
+ attr_reader self.slug: String
8
+
9
+ def self.from_hash: (params: Hash[String | Symbol, untyped]) -> BaseProductParameters
10
+
11
+ def self.load_from_hash: (params: Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]
12
+
13
+ def slug: -> String
14
+
15
+ attr_reader model_id: String
16
+ attr_reader file_alias: String?
17
+ attr_reader webhook_ids: Array[String]?
18
+ attr_reader polling_options: Input::PollingOptions
19
+ attr_reader close_file: bool
20
+
21
+ def initialize: (
22
+ String,
23
+ ?file_alias: String?,
24
+ ?webhook_ids: Array[String]?,
25
+ ?polling_options: Hash[Symbol | String, untyped] | Input::PollingOptions | nil,
26
+ ?close_file: bool?
27
+ ) -> void
28
+
29
+ def append_form_data: (Array[Array[untyped]]) -> Array[Array[untyped]]
30
+
31
+ def validate_async_params: () -> void
32
+
33
+ def polling_options=: (Hash[Symbol | String, untyped] | Input::PollingOptions | nil) -> Input::PollingOptions
34
+
35
+ private
36
+
37
+ def get_clean_polling_options: (Hash[String | Symbol, untyped] | Input::PollingOptions | nil) -> Input::PollingOptions
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ module Mindee
2
+ module V2
3
+ module ClientOptions
4
+ class BaseSearchParameters
5
+ attr_reader page: Integer?
6
+ attr_reader per_page: Integer?
7
+
8
+ def initialize: (?page: Integer?, ?per_page: Integer?) -> void
9
+
10
+ def request_parameters: -> Hash[String, String | Array[String]]
11
+
12
+ def slug: -> String
13
+ def self.slug: -> String
14
+ def response_class: -> singleton(V2::Parsing::Search::BaseSearchResponse)
15
+ def self.response_class: -> singleton(V2::Parsing::Search::BaseSearchResponse)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -11,7 +11,15 @@ module Mindee
11
11
 
12
12
  def response_type: () -> _ResponseFactory[T]
13
13
 
14
- def params_type: () -> singleton(Input::BaseParameters)
14
+ def params_type: () -> singleton(ClientOptions::BaseProductParameters)
15
+ end
16
+
17
+ interface _SearchParameters[T]
18
+ def slug: () -> String
19
+
20
+ def response_class: () -> _ResponseFactory[T]
21
+
22
+ def request_parameters: () -> Hash[String, String | Array[String]]
15
23
  end
16
24
 
17
25
  class MindeeApiV2
@@ -21,7 +29,7 @@ module Mindee
21
29
 
22
30
  def req_get_result: [T] (_ProductClass[T] product, String resource) -> T
23
31
 
24
- def req_post_enqueue: (Input::Source::LocalInputSource | Input::Source::URLInputSource, Input::BaseParameters) -> V2::Parsing::JobResponse
32
+ def req_post_product_enqueue: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ClientOptions::BaseProductParameters) -> V2::Parsing::JobResponse
25
33
 
26
34
  def req_get_job: (String) -> V2::Parsing::JobResponse
27
35
 
@@ -31,9 +39,9 @@ module Mindee
31
39
 
32
40
  def result_req_get: [T] (String, _ProductClass[T] product) -> Net::HTTPResponse
33
41
 
34
- def enqueue: (Input::Source::LocalInputSource | Input::Source::URLInputSource, Input::BaseParameters) -> Net::HTTPResponse?
42
+ def enqueue: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ClientOptions::BaseProductParameters) -> Net::HTTPResponse?
35
43
 
36
- def search_models: (String?, String?) -> Mindee::V2::Parsing::Search::SearchResponse
44
+ def req_get_search: [T] (_SearchParameters[T] params) -> T
37
45
 
38
46
  private
39
47
 
@@ -43,8 +51,6 @@ module Mindee
43
51
 
44
52
  def req_get_result_url: [T] (_ResponseFactory[T] result_class, String url) -> T
45
53
 
46
- def req_get_search_models: (String?, String?) -> Net::HTTPResponse
47
-
48
54
  def uri?: (String) -> bool
49
55
  end
50
56
  end
@@ -0,0 +1,19 @@
1
+ module Mindee
2
+ module V2
3
+ module Parsing
4
+ module Search
5
+ class BaseSearchResponse < CommonResponse
6
+ attr_reader pagination: PaginationMetadata
7
+
8
+ def initialize: (Hash[String|Symbol, untyped]) -> void
9
+
10
+ def body_lines: -> Array[String]
11
+
12
+ def pagination_metadata: -> PaginationMetadata
13
+
14
+ def to_s: -> String
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # lib/mindee/v2/parsing/search/search_rag_document.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module Parsing
6
+ module Search
7
+ class SearchRAGDocument
8
+ attr_reader created_at: Time
9
+ attr_reader filename: String
10
+ attr_reader id: String
11
+ attr_reader last_match_at: Time?
12
+ attr_reader model_id: String
13
+ attr_reader status: String
14
+ attr_reader total_matches: Integer
15
+
16
+ def initialize: (Hash[String|Symbol, untyped]) -> void
17
+
18
+ def to_s: -> String
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,16 @@
1
+ # lib/mindee/v2/parsing/search/search_rag_documents.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module Parsing
6
+ module Search
7
+ # List of RAG documents.
8
+ class SearchRAGDocuments < Array[SearchRAGDocument]
9
+ def initialize: (Array[Hash[String|Symbol, untyped]]) -> void
10
+
11
+ def to_s: -> String
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,16 +1,11 @@
1
- # lib/mindee/v2/search/search_response.rb
1
+ # lib/mindee/v2/parsing/search/search_response.rb
2
+
2
3
  module Mindee
3
4
  module V2
4
5
  module Parsing
5
6
  module Search
6
- class SearchResponse
7
- attr_reader models: Array[SearchResponse]
8
- attr_reader pagination: PaginationMetadata
9
- attr_reader pagination_metadata: PaginationMetadata
10
-
11
- def initialize: (Hash[String|Symbol, untyped]) -> void
12
-
13
- def to_s: -> String
7
+ # Deprecated: use `Mindee::V2::Search::Models::ModelSearchResponse` instead.
8
+ class SearchResponse < V2::Search::Models::ModelSearchResponse
14
9
  end
15
10
  end
16
11
  end
@@ -3,13 +3,13 @@ module Mindee
3
3
  module Product
4
4
  class BaseProduct
5
5
  self.@slug: String
6
- self.@params_type: singleton(Input::BaseParameters)
6
+ self.@params_type: singleton(ClientOptions::BaseProductParameters)
7
7
  self.@response_type: singleton(Parsing::BaseResponse)
8
8
 
9
- def self._params_type: () -> singleton(Input::BaseParameters)
9
+ def self._params_type: () -> singleton(ClientOptions::BaseProductParameters)
10
10
 
11
11
  attr_reader self.slug: String
12
- attr_reader self.params_type: singleton(Input::BaseParameters)
12
+ attr_reader self.params_type: singleton(ClientOptions::BaseProductParameters)
13
13
  attr_reader self.response_type: singleton(Parsing::BaseResponse)
14
14
 
15
15
  def initialize: -> void
@@ -3,7 +3,7 @@ module Mindee
3
3
  module Product
4
4
  module Classification
5
5
  module Params
6
- class ClassificationParameters
6
+ class ClassificationParameters < ClientOptions::BaseProductParameters
7
7
  def self.slug: -> String
8
8
 
9
9
  def self.from_hash: (params: Hash[String | Symbol, untyped]) -> ClassificationParameters
@@ -3,7 +3,7 @@ module Mindee
3
3
  module Product
4
4
  module Crop
5
5
  module Params
6
- class CropParameters
6
+ class CropParameters < ClientOptions::BaseProductParameters
7
7
  def self.slug: -> String
8
8
 
9
9
  def self.from_hash: (params: Hash[String | Symbol, untyped]) -> CropParameters
@@ -3,7 +3,7 @@ module Mindee
3
3
  module Product
4
4
  module Extraction
5
5
  module Params
6
- class ExtractionParameters < Input::BaseParameters
6
+ class ExtractionParameters < ClientOptions::BaseProductParameters
7
7
 
8
8
  def self.slug: -> String
9
9
 
@@ -3,7 +3,7 @@ module Mindee
3
3
  module Product
4
4
  module OCR
5
5
  module Params
6
- class OCRParameters
6
+ class OCRParameters < ClientOptions::BaseProductParameters
7
7
  def self.slug: -> String
8
8
 
9
9
  def self.from_hash: (params: Hash[String | Symbol, untyped]) -> OCRParameters
@@ -3,7 +3,7 @@ module Mindee
3
3
  module Product
4
4
  module Split
5
5
  module Params
6
- class SplitParameters
6
+ class SplitParameters < ClientOptions::BaseProductParameters
7
7
  def self.slug: -> String
8
8
 
9
9
  def self.from_hash: (params: Hash[String | Symbol, untyped]) -> SplitParameters
@@ -0,0 +1,22 @@
1
+ # lib/mindee/v2/search/models/model_search_parameters.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module Models
7
+ class ModelSearchParameters < ClientOptions::BaseSearchParameters
8
+ attr_reader model_type: String?
9
+ attr_reader name: String?
10
+
11
+ def initialize: (?name: String?, ?model_type: String?, ?page: Integer?, ?per_page: Integer?) -> void
12
+
13
+ def self.slug: -> String
14
+ def self.response_class: -> singleton(ModelSearchResponse)
15
+ def response_class: -> singleton(ModelSearchResponse)
16
+
17
+ def request_parameters: -> Hash[String, String | Array[String]]
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ # lib/mindee/v2/search/models/model_search_response.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module Models
7
+ class ModelSearchResponse < V2::Parsing::Search::BaseSearchResponse
8
+ attr_reader models: V2::Parsing::Search::SearchModels
9
+
10
+ def initialize: (Hash[String|Symbol, untyped]) -> void
11
+
12
+ def body_lines: -> Array[String]
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # lib/mindee/v2/search/rag_documents/rag_document_search_parameters.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module RAGDocuments
7
+ class RAGDocumentSearchParameters < ClientOptions::BaseSearchParameters
8
+ attr_reader filename: String?
9
+ attr_reader model_id: String
10
+
11
+ def initialize: (model_id: String, ?filename: String?, ?page: Integer?, ?per_page: Integer?) -> void
12
+
13
+ def self.slug: -> String
14
+ def self.response_class: -> singleton(RAGDocumentSearchResponse)
15
+ def response_class: -> singleton(RAGDocumentSearchResponse)
16
+
17
+ def request_parameters: -> Hash[String, String | Array[String]]
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ # lib/mindee/v2/search/rag_documents/rag_document_search_response.rb
2
+
3
+ module Mindee
4
+ module V2
5
+ module Search
6
+ module RAGDocuments
7
+ class RAGDocumentSearchResponse < V2::Parsing::Search::BaseSearchResponse
8
+ attr_reader rag_documents: V2::Parsing::Search::SearchRAGDocuments
9
+
10
+ def initialize: (Hash[String|Symbol, untyped]) -> void
11
+
12
+ def body_lines: -> Array[String]
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end