mindee-lite 5.3.1 → 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.
- checksums.yaml +4 -4
- data/.git-hooks/pre_commit/gitleaks.rb +19 -0
- data/.overcommit.yml +46 -0
- data/CHANGELOG.md +14 -0
- data/CONTRIBUTING.md +128 -0
- data/bin/mindee.rb +4 -1
- data/bin/v2/parser.rb +40 -45
- data/bin/v2/search_commands.rb +100 -0
- data/lib/mindee/http/cancellation_token.rb +24 -0
- data/lib/mindee/http.rb +1 -0
- data/lib/mindee/v1/client.rb +15 -1
- data/lib/mindee/v2/client.rb +25 -10
- data/lib/mindee/v2/client_options/base_product_parameters.rb +162 -0
- data/lib/mindee/v2/client_options/base_search_parameters.rb +51 -0
- data/lib/mindee/v2/client_options.rb +4 -0
- data/lib/mindee/v2/http/mindee_api_v2.rb +28 -32
- data/lib/mindee/v2/parsing/field/field_confidence.rb +37 -2
- data/lib/mindee/v2/parsing/search/base_search_response.rb +47 -0
- data/lib/mindee/v2/parsing/search/model_webhook.rb +3 -3
- data/lib/mindee/v2/parsing/search/pagination_metadata.rb +1 -1
- data/lib/mindee/v2/parsing/search/search_models.rb +2 -1
- data/lib/mindee/v2/parsing/search/search_rag_document.rb +60 -0
- data/lib/mindee/v2/parsing/search/search_rag_documents.rb +39 -0
- data/lib/mindee/v2/parsing/search/search_response.rb +2 -29
- data/lib/mindee/v2/parsing/search.rb +5 -1
- data/lib/mindee/v2/product/base_product.rb +2 -2
- data/lib/mindee/v2/product/classification/classification_classifier.rb +1 -2
- data/lib/mindee/v2/product/classification/params/classification_parameters.rb +1 -1
- data/lib/mindee/v2/product/crop/crop_item.rb +1 -2
- data/lib/mindee/v2/product/crop/params/crop_parameters.rb +1 -1
- data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +2 -2
- data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +1 -1
- data/lib/mindee/v2/product/split/params/split_parameters.rb +1 -1
- data/lib/mindee/v2/product/split/split_range.rb +1 -2
- data/lib/mindee/v2/search/models/model_search_parameters.rb +51 -0
- data/lib/mindee/v2/search/models/model_search_response.rb +28 -0
- data/lib/mindee/v2/search/rag_documents/rag_document_search_parameters.rb +52 -0
- data/lib/mindee/v2/search/rag_documents/rag_document_search_response.rb +28 -0
- data/lib/mindee/v2/search.rb +6 -0
- data/lib/mindee/v2.rb +2 -0
- data/lib/mindee/version.rb +1 -1
- data/mindee.gemspec +1 -0
- data/sig/custom/net_http.rbs +1 -1
- data/sig/mindee/http/cancellation_token.rbs +15 -0
- data/sig/mindee/v2/client.rbs +7 -4
- data/sig/mindee/v2/client_options/base_product_parameters.rbs +41 -0
- data/sig/mindee/v2/client_options/base_search_parameters.rbs +19 -0
- data/sig/mindee/v2/http/mindee_api_v2.rbs +12 -6
- data/sig/mindee/v2/parsing/field/field_confidence.rbs +9 -0
- data/sig/mindee/v2/parsing/search/base_search_response.rbs +19 -0
- data/sig/mindee/v2/parsing/search/search_rag_document.rbs +23 -0
- data/sig/mindee/v2/parsing/search/search_rag_documents.rbs +16 -0
- data/sig/mindee/v2/parsing/search/search_response.rbs +4 -9
- data/sig/mindee/v2/product/base_product.rbs +3 -3
- data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +1 -1
- data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +1 -1
- data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +1 -1
- data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +1 -1
- data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +1 -1
- data/sig/mindee/v2/search/models/model_search_parameters.rbs +22 -0
- data/sig/mindee/v2/search/models/model_search_response.rbs +17 -0
- data/sig/mindee/v2/search/rag_documents/rag_document_search_parameters.rbs +22 -0
- data/sig/mindee/v2/search/rag_documents/rag_document_search_response.rbs +17 -0
- metadata +27 -5
- data/.pre-commit-config.yaml +0 -36
- data/lib/mindee/input/base_parameters.rb +0 -156
- data/sig/mindee/input/base_parameters.rbs +0 -36
|
@@ -7,7 +7,7 @@ module Mindee
|
|
|
7
7
|
# Classification parameters.
|
|
8
8
|
module Params
|
|
9
9
|
# Parameters accepted by the classification utility v2 endpoint.
|
|
10
|
-
class ClassificationParameters < Mindee::
|
|
10
|
+
class ClassificationParameters < Mindee::V2::ClientOptions::BaseProductParameters
|
|
11
11
|
# @return [String] Slug for the endpoint.
|
|
12
12
|
def self.slug
|
|
13
13
|
'classification'
|
|
@@ -16,11 +16,10 @@ module Mindee
|
|
|
16
16
|
def initialize(server_response)
|
|
17
17
|
@object_type = server_response['object_type']
|
|
18
18
|
@location = Mindee::V2::Parsing::Field::FieldLocation.new(server_response['location'])
|
|
19
|
-
# rubocop:disable Style/GuardClause
|
|
19
|
+
# rubocop:disable-next Style/GuardClause
|
|
20
20
|
unless server_response['extraction_response'].nil?
|
|
21
21
|
@extraction_response = V2::Product::Extraction::ExtractionResponse.new(server_response['extraction_response'])
|
|
22
22
|
end
|
|
23
|
-
# rubocop:enable Style/GuardClause
|
|
24
23
|
end
|
|
25
24
|
|
|
26
25
|
# String representation.
|
|
@@ -7,7 +7,7 @@ module Mindee
|
|
|
7
7
|
# Crop parameters.
|
|
8
8
|
module Params
|
|
9
9
|
# Parameters accepted by the crop utility v2 endpoint.
|
|
10
|
-
class CropParameters < Mindee::
|
|
10
|
+
class CropParameters < Mindee::V2::ClientOptions::BaseProductParameters
|
|
11
11
|
# @return [String] Slug for the endpoint.
|
|
12
12
|
def self.slug
|
|
13
13
|
'crop'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative '
|
|
3
|
+
require_relative '../../../client_options/base_product_parameters'
|
|
4
4
|
require_relative 'data_schema'
|
|
5
5
|
|
|
6
6
|
module Mindee
|
|
@@ -9,7 +9,7 @@ module Mindee
|
|
|
9
9
|
module Extraction
|
|
10
10
|
module Params
|
|
11
11
|
# Parameters accepted by the extraction v2 endpoint.
|
|
12
|
-
class ExtractionParameters < Mindee::
|
|
12
|
+
class ExtractionParameters < Mindee::V2::ClientOptions::BaseProductParameters
|
|
13
13
|
# @return [Boolean, nil] Enhance extraction accuracy with Retrieval-Augmented Generation.
|
|
14
14
|
attr_reader :rag
|
|
15
15
|
|
|
@@ -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::
|
|
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::
|
|
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'
|
data/lib/mindee/version.rb
CHANGED
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'
|
data/sig/custom/net_http.rbs
CHANGED
|
@@ -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
|
|
data/sig/mindee/v2/client.rbs
CHANGED
|
@@ -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] |
|
|
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] |
|
|
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
|
|
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(
|
|
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(
|
|
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
|
|
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,
|
|
42
|
+
def enqueue: (Input::Source::LocalInputSource | Input::Source::URLInputSource, ClientOptions::BaseProductParameters) -> Net::HTTPResponse?
|
|
35
43
|
|
|
36
|
-
def
|
|
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
|
|
@@ -20,6 +20,15 @@ module Mindee
|
|
|
20
20
|
def lteql? : (String | Integer | FieldConfidence) -> bool
|
|
21
21
|
def >=: (String | Integer | FieldConfidence) -> bool
|
|
22
22
|
def gteql?: (String | Integer | FieldConfidence) -> bool
|
|
23
|
+
def greater_than_or_equal?: (String | Integer | FieldConfidence) -> bool
|
|
24
|
+
def >: (String | Integer | FieldConfidence) -> bool
|
|
25
|
+
def gt?: (String | Integer | FieldConfidence) -> bool
|
|
26
|
+
def greater_than?: (String | Integer | FieldConfidence) -> bool
|
|
27
|
+
def <: (String | Integer | FieldConfidence) -> bool
|
|
28
|
+
def lt?: (String | Integer | FieldConfidence) -> bool
|
|
29
|
+
def less_than?: (String | Integer | FieldConfidence) -> bool
|
|
30
|
+
def less_than_or_equal?: (String | Integer | FieldConfidence) -> bool
|
|
31
|
+
def equal?: (String | Integer | FieldConfidence) -> bool
|
|
23
32
|
def inspect: -> String
|
|
24
33
|
|
|
25
34
|
def val_to_i: (String) -> Integer
|
|
@@ -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
|
-
|
|
7
|
-
|
|
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(
|
|
6
|
+
self.@params_type: singleton(ClientOptions::BaseProductParameters)
|
|
7
7
|
self.@response_type: singleton(Parsing::BaseResponse)
|
|
8
8
|
|
|
9
|
-
def self._params_type: () -> singleton(
|
|
9
|
+
def self._params_type: () -> singleton(ClientOptions::BaseProductParameters)
|
|
10
10
|
|
|
11
11
|
attr_reader self.slug: String
|
|
12
|
-
attr_reader self.params_type: singleton(
|
|
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
|
|
@@ -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
|