turbopuffer-ruby 0.2.0.pre.alpha.1
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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +60 -0
- data/README.md +291 -0
- data/SECURITY.md +27 -0
- data/lib/turbopuffer/client.rb +130 -0
- data/lib/turbopuffer/errors.rb +214 -0
- data/lib/turbopuffer/file_part.rb +55 -0
- data/lib/turbopuffer/internal/namespace_page.rb +86 -0
- data/lib/turbopuffer/internal/transport/base_client.rb +563 -0
- data/lib/turbopuffer/internal/transport/pooled_net_requester.rb +209 -0
- data/lib/turbopuffer/internal/type/array_of.rb +167 -0
- data/lib/turbopuffer/internal/type/base_model.rb +534 -0
- data/lib/turbopuffer/internal/type/base_page.rb +55 -0
- data/lib/turbopuffer/internal/type/boolean.rb +77 -0
- data/lib/turbopuffer/internal/type/converter.rb +300 -0
- data/lib/turbopuffer/internal/type/enum.rb +152 -0
- data/lib/turbopuffer/internal/type/file_input.rb +108 -0
- data/lib/turbopuffer/internal/type/hash_of.rb +187 -0
- data/lib/turbopuffer/internal/type/request_parameters.rb +42 -0
- data/lib/turbopuffer/internal/type/union.rb +252 -0
- data/lib/turbopuffer/internal/type/unknown.rb +81 -0
- data/lib/turbopuffer/internal/util.rb +914 -0
- data/lib/turbopuffer/internal.rb +20 -0
- data/lib/turbopuffer/models/attribute_schema.rb +19 -0
- data/lib/turbopuffer/models/attribute_schema_config.rb +48 -0
- data/lib/turbopuffer/models/attribute_type.rb +7 -0
- data/lib/turbopuffer/models/client_namespaces_params.rb +38 -0
- data/lib/turbopuffer/models/columns.rb +64 -0
- data/lib/turbopuffer/models/distance_metric.rb +19 -0
- data/lib/turbopuffer/models/full_text_search.rb +20 -0
- data/lib/turbopuffer/models/full_text_search_config.rb +72 -0
- data/lib/turbopuffer/models/id.rb +19 -0
- data/lib/turbopuffer/models/include_attributes.rb +22 -0
- data/lib/turbopuffer/models/language.rb +32 -0
- data/lib/turbopuffer/models/namespace_delete_all_params.rb +20 -0
- data/lib/turbopuffer/models/namespace_delete_all_response.rb +19 -0
- data/lib/turbopuffer/models/namespace_hint_cache_warm_params.rb +20 -0
- data/lib/turbopuffer/models/namespace_hint_cache_warm_response.rb +26 -0
- data/lib/turbopuffer/models/namespace_metadata.rb +35 -0
- data/lib/turbopuffer/models/namespace_metadata_params.rb +20 -0
- data/lib/turbopuffer/models/namespace_multi_query_params.rb +73 -0
- data/lib/turbopuffer/models/namespace_multi_query_response.rb +51 -0
- data/lib/turbopuffer/models/namespace_query_params.rb +119 -0
- data/lib/turbopuffer/models/namespace_query_response.rb +41 -0
- data/lib/turbopuffer/models/namespace_recall_params.rb +57 -0
- data/lib/turbopuffer/models/namespace_recall_response.rb +39 -0
- data/lib/turbopuffer/models/namespace_schema_params.rb +20 -0
- data/lib/turbopuffer/models/namespace_schema_response.rb +8 -0
- data/lib/turbopuffer/models/namespace_summary.rb +19 -0
- data/lib/turbopuffer/models/namespace_update_schema_params.rb +29 -0
- data/lib/turbopuffer/models/namespace_update_schema_response.rb +9 -0
- data/lib/turbopuffer/models/namespace_write_params.rb +158 -0
- data/lib/turbopuffer/models/namespace_write_response.rb +67 -0
- data/lib/turbopuffer/models/query.rb +63 -0
- data/lib/turbopuffer/models/query_billing.rb +26 -0
- data/lib/turbopuffer/models/query_performance.rb +63 -0
- data/lib/turbopuffer/models/row.rb +38 -0
- data/lib/turbopuffer/models/tokenizer.rb +17 -0
- data/lib/turbopuffer/models/vector.rb +22 -0
- data/lib/turbopuffer/models/vector_encoding.rb +16 -0
- data/lib/turbopuffer/models/write_billing.rb +26 -0
- data/lib/turbopuffer/models.rb +101 -0
- data/lib/turbopuffer/namespace.rb +22 -0
- data/lib/turbopuffer/request_options.rb +77 -0
- data/lib/turbopuffer/resources/namespaces.rb +311 -0
- data/lib/turbopuffer/version.rb +5 -0
- data/lib/turbopuffer.rb +94 -0
- data/manifest.yaml +15 -0
- data/rbi/turbopuffer/client.rbi +91 -0
- data/rbi/turbopuffer/errors.rbi +178 -0
- data/rbi/turbopuffer/file_part.rbi +37 -0
- data/rbi/turbopuffer/internal/namespace_page.rbi +22 -0
- data/rbi/turbopuffer/internal/transport/base_client.rbi +298 -0
- data/rbi/turbopuffer/internal/transport/pooled_net_requester.rbi +80 -0
- data/rbi/turbopuffer/internal/type/array_of.rbi +104 -0
- data/rbi/turbopuffer/internal/type/base_model.rbi +304 -0
- data/rbi/turbopuffer/internal/type/base_page.rbi +43 -0
- data/rbi/turbopuffer/internal/type/boolean.rbi +58 -0
- data/rbi/turbopuffer/internal/type/converter.rbi +162 -0
- data/rbi/turbopuffer/internal/type/enum.rbi +82 -0
- data/rbi/turbopuffer/internal/type/file_input.rbi +59 -0
- data/rbi/turbopuffer/internal/type/hash_of.rbi +104 -0
- data/rbi/turbopuffer/internal/type/request_parameters.rbi +31 -0
- data/rbi/turbopuffer/internal/type/union.rbi +121 -0
- data/rbi/turbopuffer/internal/type/unknown.rbi +58 -0
- data/rbi/turbopuffer/internal/util.rbi +487 -0
- data/rbi/turbopuffer/internal.rbi +18 -0
- data/rbi/turbopuffer/models/attribute_schema.rbi +17 -0
- data/rbi/turbopuffer/models/attribute_schema_config.rbi +92 -0
- data/rbi/turbopuffer/models/attribute_type.rbi +7 -0
- data/rbi/turbopuffer/models/client_namespaces_params.rbi +71 -0
- data/rbi/turbopuffer/models/columns.rbi +82 -0
- data/rbi/turbopuffer/models/distance_metric.rbi +27 -0
- data/rbi/turbopuffer/models/full_text_search.rbi +19 -0
- data/rbi/turbopuffer/models/full_text_search_config.rbi +116 -0
- data/rbi/turbopuffer/models/id.rbi +16 -0
- data/rbi/turbopuffer/models/include_attributes.rbi +24 -0
- data/rbi/turbopuffer/models/language.rbi +36 -0
- data/rbi/turbopuffer/models/namespace_delete_all_params.rbi +41 -0
- data/rbi/turbopuffer/models/namespace_delete_all_response.rbi +31 -0
- data/rbi/turbopuffer/models/namespace_hint_cache_warm_params.rbi +41 -0
- data/rbi/turbopuffer/models/namespace_hint_cache_warm_response.rbi +38 -0
- data/rbi/turbopuffer/models/namespace_metadata.rbi +54 -0
- data/rbi/turbopuffer/models/namespace_metadata_params.rbi +41 -0
- data/rbi/turbopuffer/models/namespace_multi_query_params.rbi +175 -0
- data/rbi/turbopuffer/models/namespace_multi_query_response.rbi +111 -0
- data/rbi/turbopuffer/models/namespace_query_params.rbi +241 -0
- data/rbi/turbopuffer/models/namespace_query_response.rbi +73 -0
- data/rbi/turbopuffer/models/namespace_recall_params.rbi +93 -0
- data/rbi/turbopuffer/models/namespace_recall_response.rbi +59 -0
- data/rbi/turbopuffer/models/namespace_schema_params.rbi +41 -0
- data/rbi/turbopuffer/models/namespace_schema_response.rbi +11 -0
- data/rbi/turbopuffer/models/namespace_summary.rbi +28 -0
- data/rbi/turbopuffer/models/namespace_update_schema_params.rbi +80 -0
- data/rbi/turbopuffer/models/namespace_update_schema_response.rbi +11 -0
- data/rbi/turbopuffer/models/namespace_write_params.rbi +290 -0
- data/rbi/turbopuffer/models/namespace_write_response.rbi +101 -0
- data/rbi/turbopuffer/models/query.rbi +106 -0
- data/rbi/turbopuffer/models/query_billing.rbi +46 -0
- data/rbi/turbopuffer/models/query_performance.rbi +82 -0
- data/rbi/turbopuffer/models/row.rbi +47 -0
- data/rbi/turbopuffer/models/tokenizer.rbi +22 -0
- data/rbi/turbopuffer/models/vector.rbi +22 -0
- data/rbi/turbopuffer/models/vector_encoding.rbi +22 -0
- data/rbi/turbopuffer/models/write_billing.rbi +49 -0
- data/rbi/turbopuffer/models.rbi +64 -0
- data/rbi/turbopuffer/namespace.rbi +8 -0
- data/rbi/turbopuffer/request_options.rbi +59 -0
- data/rbi/turbopuffer/resources/namespaces.rbi +243 -0
- data/rbi/turbopuffer/version.rbi +5 -0
- data/sig/turbopuffer/client.rbs +41 -0
- data/sig/turbopuffer/errors.rbs +110 -0
- data/sig/turbopuffer/file_part.rbs +21 -0
- data/sig/turbopuffer/internal/namespace_page.rbs +13 -0
- data/sig/turbopuffer/internal/transport/base_client.rbs +131 -0
- data/sig/turbopuffer/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/turbopuffer/internal/type/array_of.rbs +48 -0
- data/sig/turbopuffer/internal/type/base_model.rbs +102 -0
- data/sig/turbopuffer/internal/type/base_page.rbs +24 -0
- data/sig/turbopuffer/internal/type/boolean.rbs +26 -0
- data/sig/turbopuffer/internal/type/converter.rbs +62 -0
- data/sig/turbopuffer/internal/type/enum.rbs +32 -0
- data/sig/turbopuffer/internal/type/file_input.rbs +25 -0
- data/sig/turbopuffer/internal/type/hash_of.rbs +48 -0
- data/sig/turbopuffer/internal/type/request_parameters.rbs +19 -0
- data/sig/turbopuffer/internal/type/union.rbs +52 -0
- data/sig/turbopuffer/internal/type/unknown.rbs +26 -0
- data/sig/turbopuffer/internal/util.rbs +185 -0
- data/sig/turbopuffer/internal.rbs +9 -0
- data/sig/turbopuffer/models/attribute_schema.rbs +11 -0
- data/sig/turbopuffer/models/attribute_schema_config.rbs +45 -0
- data/sig/turbopuffer/models/attribute_type.rbs +5 -0
- data/sig/turbopuffer/models/client_namespaces_params.rbs +38 -0
- data/sig/turbopuffer/models/columns.rbs +42 -0
- data/sig/turbopuffer/models/distance_metric.rbs +17 -0
- data/sig/turbopuffer/models/full_text_search.rbs +11 -0
- data/sig/turbopuffer/models/full_text_search_config.rbs +68 -0
- data/sig/turbopuffer/models/id.rbs +11 -0
- data/sig/turbopuffer/models/include_attributes.rbs +13 -0
- data/sig/turbopuffer/models/language.rbs +48 -0
- data/sig/turbopuffer/models/namespace_delete_all_params.rbs +25 -0
- data/sig/turbopuffer/models/namespace_delete_all_response.rbs +13 -0
- data/sig/turbopuffer/models/namespace_hint_cache_warm_params.rbs +25 -0
- data/sig/turbopuffer/models/namespace_hint_cache_warm_response.rbs +17 -0
- data/sig/turbopuffer/models/namespace_metadata.rbs +30 -0
- data/sig/turbopuffer/models/namespace_metadata_params.rbs +25 -0
- data/sig/turbopuffer/models/namespace_multi_query_params.rbs +86 -0
- data/sig/turbopuffer/models/namespace_multi_query_response.rbs +53 -0
- data/sig/turbopuffer/models/namespace_query_params.rbs +125 -0
- data/sig/turbopuffer/models/namespace_query_response.rbs +39 -0
- data/sig/turbopuffer/models/namespace_recall_params.rbs +56 -0
- data/sig/turbopuffer/models/namespace_recall_response.rbs +26 -0
- data/sig/turbopuffer/models/namespace_schema_params.rbs +25 -0
- data/sig/turbopuffer/models/namespace_schema_response.rbs +8 -0
- data/sig/turbopuffer/models/namespace_summary.rbs +13 -0
- data/sig/turbopuffer/models/namespace_update_schema_params.rbs +37 -0
- data/sig/turbopuffer/models/namespace_update_schema_response.rbs +8 -0
- data/sig/turbopuffer/models/namespace_write_params.rbs +156 -0
- data/sig/turbopuffer/models/namespace_write_response.rbs +56 -0
- data/sig/turbopuffer/models/query.rbs +61 -0
- data/sig/turbopuffer/models/query_billing.rbs +25 -0
- data/sig/turbopuffer/models/query_performance.rbs +45 -0
- data/sig/turbopuffer/models/row.rbs +24 -0
- data/sig/turbopuffer/models/tokenizer.rbs +15 -0
- data/sig/turbopuffer/models/vector.rbs +13 -0
- data/sig/turbopuffer/models/vector_encoding.rbs +14 -0
- data/sig/turbopuffer/models/write_billing.rbs +27 -0
- data/sig/turbopuffer/models.rbs +61 -0
- data/sig/turbopuffer/namespace.rbs +5 -0
- data/sig/turbopuffer/request_options.rbs +36 -0
- data/sig/turbopuffer/resources/namespaces.rbs +81 -0
- data/sig/turbopuffer/version.rbs +3 -0
- metadata +251 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class Columns < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(Turbopuffer::Columns, Turbopuffer::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# The IDs of the documents.
|
12
|
+
sig { returns(T::Array[Turbopuffer::ID::Variants]) }
|
13
|
+
attr_accessor :id
|
14
|
+
|
15
|
+
# The vector embeddings of the documents.
|
16
|
+
sig { returns(T.nilable(Turbopuffer::Columns::Vector::Variants)) }
|
17
|
+
attr_reader :vector
|
18
|
+
|
19
|
+
sig { params(vector: Turbopuffer::Columns::Vector::Variants).void }
|
20
|
+
attr_writer :vector
|
21
|
+
|
22
|
+
# A list of documents in columnar format. Each key is a column name, mapped to an
|
23
|
+
# array of values for that column.
|
24
|
+
sig do
|
25
|
+
params(
|
26
|
+
id: T::Array[Turbopuffer::ID::Variants],
|
27
|
+
vector: Turbopuffer::Columns::Vector::Variants
|
28
|
+
).returns(T.attached_class)
|
29
|
+
end
|
30
|
+
def self.new(
|
31
|
+
# The IDs of the documents.
|
32
|
+
id:,
|
33
|
+
# The vector embeddings of the documents.
|
34
|
+
vector: nil
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
sig do
|
39
|
+
override.returns(
|
40
|
+
{
|
41
|
+
id: T::Array[Turbopuffer::ID::Variants],
|
42
|
+
vector: Turbopuffer::Columns::Vector::Variants
|
43
|
+
}
|
44
|
+
)
|
45
|
+
end
|
46
|
+
def to_hash
|
47
|
+
end
|
48
|
+
|
49
|
+
# The vector embeddings of the documents.
|
50
|
+
module Vector
|
51
|
+
extend Turbopuffer::Internal::Type::Union
|
52
|
+
|
53
|
+
Variants =
|
54
|
+
T.type_alias do
|
55
|
+
T.any(
|
56
|
+
T::Array[Turbopuffer::Vector::Variants],
|
57
|
+
T::Array[Float],
|
58
|
+
String
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
sig do
|
63
|
+
override.returns(T::Array[Turbopuffer::Columns::Vector::Variants])
|
64
|
+
end
|
65
|
+
def self.variants
|
66
|
+
end
|
67
|
+
|
68
|
+
VectorArray =
|
69
|
+
T.let(
|
70
|
+
Turbopuffer::Internal::Type::ArrayOf[union: Turbopuffer::Vector],
|
71
|
+
Turbopuffer::Internal::Type::Converter
|
72
|
+
)
|
73
|
+
|
74
|
+
FloatArray =
|
75
|
+
T.let(
|
76
|
+
Turbopuffer::Internal::Type::ArrayOf[Float],
|
77
|
+
Turbopuffer::Internal::Type::Converter
|
78
|
+
)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
# A function used to calculate vector similarity.
|
6
|
+
module DistanceMetric
|
7
|
+
extend Turbopuffer::Internal::Type::Enum
|
8
|
+
|
9
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, Turbopuffer::DistanceMetric) }
|
10
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
11
|
+
|
12
|
+
# Defined as `1 - cosine_similarity` and ranges from 0 to 2. Lower is better.
|
13
|
+
COSINE_DISTANCE =
|
14
|
+
T.let(:cosine_distance, Turbopuffer::DistanceMetric::TaggedSymbol)
|
15
|
+
|
16
|
+
# Defined as `sum((x - y)^2)`. Lower is better.
|
17
|
+
EUCLIDEAN_SQUARED =
|
18
|
+
T.let(:euclidean_squared, Turbopuffer::DistanceMetric::TaggedSymbol)
|
19
|
+
|
20
|
+
sig do
|
21
|
+
override.returns(T::Array[Turbopuffer::DistanceMetric::TaggedSymbol])
|
22
|
+
end
|
23
|
+
def self.values
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
# Whether this attribute can be used as part of a BM25 full-text search. Requires
|
6
|
+
# the `string` or `[]string` type, and by default, BM25-enabled attributes are not
|
7
|
+
# filterable. You can override this by setting `filterable: true`.
|
8
|
+
module FullTextSearch
|
9
|
+
extend Turbopuffer::Internal::Type::Union
|
10
|
+
|
11
|
+
Variants =
|
12
|
+
T.type_alias { T.any(T::Boolean, Turbopuffer::FullTextSearchConfig) }
|
13
|
+
|
14
|
+
sig { override.returns(T::Array[Turbopuffer::FullTextSearch::Variants]) }
|
15
|
+
def self.variants
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class FullTextSearchConfig < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(
|
9
|
+
Turbopuffer::FullTextSearchConfig,
|
10
|
+
Turbopuffer::Internal::AnyHash
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
# The `b` document length normalization parameter for BM25. Defaults to `0.75`.
|
15
|
+
sig { returns(T.nilable(Float)) }
|
16
|
+
attr_reader :b
|
17
|
+
|
18
|
+
sig { params(b: Float).void }
|
19
|
+
attr_writer :b
|
20
|
+
|
21
|
+
# Whether searching is case-sensitive. Defaults to `false` (i.e.
|
22
|
+
# case-insensitive).
|
23
|
+
sig { returns(T.nilable(T::Boolean)) }
|
24
|
+
attr_reader :case_sensitive
|
25
|
+
|
26
|
+
sig { params(case_sensitive: T::Boolean).void }
|
27
|
+
attr_writer :case_sensitive
|
28
|
+
|
29
|
+
# The `k1` term saturation parameter for BM25. Defaults to `1.2`.
|
30
|
+
sig { returns(T.nilable(Float)) }
|
31
|
+
attr_reader :k1
|
32
|
+
|
33
|
+
sig { params(k1: Float).void }
|
34
|
+
attr_writer :k1
|
35
|
+
|
36
|
+
# Describes the language of a text attribute. Defaults to `english`.
|
37
|
+
sig { returns(T.nilable(Turbopuffer::Language::OrSymbol)) }
|
38
|
+
attr_reader :language
|
39
|
+
|
40
|
+
sig { params(language: Turbopuffer::Language::OrSymbol).void }
|
41
|
+
attr_writer :language
|
42
|
+
|
43
|
+
# Removes common words from the text based on language. Defaults to `true` (i.e.
|
44
|
+
# remove common words).
|
45
|
+
sig { returns(T.nilable(T::Boolean)) }
|
46
|
+
attr_reader :remove_stopwords
|
47
|
+
|
48
|
+
sig { params(remove_stopwords: T::Boolean).void }
|
49
|
+
attr_writer :remove_stopwords
|
50
|
+
|
51
|
+
# Language-specific stemming for the text. Defaults to `false` (i.e., do not
|
52
|
+
# stem).
|
53
|
+
sig { returns(T.nilable(T::Boolean)) }
|
54
|
+
attr_reader :stemming
|
55
|
+
|
56
|
+
sig { params(stemming: T::Boolean).void }
|
57
|
+
attr_writer :stemming
|
58
|
+
|
59
|
+
# The tokenizer to use for full-text search on an attribute.
|
60
|
+
sig { returns(T.nilable(Turbopuffer::Tokenizer::OrSymbol)) }
|
61
|
+
attr_reader :tokenizer
|
62
|
+
|
63
|
+
sig { params(tokenizer: Turbopuffer::Tokenizer::OrSymbol).void }
|
64
|
+
attr_writer :tokenizer
|
65
|
+
|
66
|
+
# Configuration options for full-text search.
|
67
|
+
sig do
|
68
|
+
params(
|
69
|
+
b: Float,
|
70
|
+
case_sensitive: T::Boolean,
|
71
|
+
k1: Float,
|
72
|
+
language: Turbopuffer::Language::OrSymbol,
|
73
|
+
remove_stopwords: T::Boolean,
|
74
|
+
stemming: T::Boolean,
|
75
|
+
tokenizer: Turbopuffer::Tokenizer::OrSymbol
|
76
|
+
).returns(T.attached_class)
|
77
|
+
end
|
78
|
+
def self.new(
|
79
|
+
# The `b` document length normalization parameter for BM25. Defaults to `0.75`.
|
80
|
+
b: nil,
|
81
|
+
# Whether searching is case-sensitive. Defaults to `false` (i.e.
|
82
|
+
# case-insensitive).
|
83
|
+
case_sensitive: nil,
|
84
|
+
# The `k1` term saturation parameter for BM25. Defaults to `1.2`.
|
85
|
+
k1: nil,
|
86
|
+
# Describes the language of a text attribute. Defaults to `english`.
|
87
|
+
language: nil,
|
88
|
+
# Removes common words from the text based on language. Defaults to `true` (i.e.
|
89
|
+
# remove common words).
|
90
|
+
remove_stopwords: nil,
|
91
|
+
# Language-specific stemming for the text. Defaults to `false` (i.e., do not
|
92
|
+
# stem).
|
93
|
+
stemming: nil,
|
94
|
+
# The tokenizer to use for full-text search on an attribute.
|
95
|
+
tokenizer: nil
|
96
|
+
)
|
97
|
+
end
|
98
|
+
|
99
|
+
sig do
|
100
|
+
override.returns(
|
101
|
+
{
|
102
|
+
b: Float,
|
103
|
+
case_sensitive: T::Boolean,
|
104
|
+
k1: Float,
|
105
|
+
language: Turbopuffer::Language::OrSymbol,
|
106
|
+
remove_stopwords: T::Boolean,
|
107
|
+
stemming: T::Boolean,
|
108
|
+
tokenizer: Turbopuffer::Tokenizer::OrSymbol
|
109
|
+
}
|
110
|
+
)
|
111
|
+
end
|
112
|
+
def to_hash
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
# An identifier for a document.
|
6
|
+
module ID
|
7
|
+
extend Turbopuffer::Internal::Type::Union
|
8
|
+
|
9
|
+
Variants = T.type_alias { T.any(String, Integer) }
|
10
|
+
|
11
|
+
sig { override.returns(T::Array[Turbopuffer::ID::Variants]) }
|
12
|
+
def self.variants
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
# Whether to include attributes in the response.
|
6
|
+
module IncludeAttributes
|
7
|
+
extend Turbopuffer::Internal::Type::Union
|
8
|
+
|
9
|
+
Variants = T.type_alias { T.any(T::Boolean, T::Array[String]) }
|
10
|
+
|
11
|
+
sig do
|
12
|
+
override.returns(T::Array[Turbopuffer::IncludeAttributes::Variants])
|
13
|
+
end
|
14
|
+
def self.variants
|
15
|
+
end
|
16
|
+
|
17
|
+
StringArray =
|
18
|
+
T.let(
|
19
|
+
Turbopuffer::Internal::Type::ArrayOf[String],
|
20
|
+
Turbopuffer::Internal::Type::Converter
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
# Describes the language of a text attribute. Defaults to `english`.
|
6
|
+
module Language
|
7
|
+
extend Turbopuffer::Internal::Type::Enum
|
8
|
+
|
9
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, Turbopuffer::Language) }
|
10
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
11
|
+
|
12
|
+
ARABIC = T.let(:arabic, Turbopuffer::Language::TaggedSymbol)
|
13
|
+
DANISH = T.let(:danish, Turbopuffer::Language::TaggedSymbol)
|
14
|
+
DUTCH = T.let(:dutch, Turbopuffer::Language::TaggedSymbol)
|
15
|
+
ENGLISH = T.let(:english, Turbopuffer::Language::TaggedSymbol)
|
16
|
+
FINNISH = T.let(:finnish, Turbopuffer::Language::TaggedSymbol)
|
17
|
+
FRENCH = T.let(:french, Turbopuffer::Language::TaggedSymbol)
|
18
|
+
GERMAN = T.let(:german, Turbopuffer::Language::TaggedSymbol)
|
19
|
+
GREEK = T.let(:greek, Turbopuffer::Language::TaggedSymbol)
|
20
|
+
HUNGARIAN = T.let(:hungarian, Turbopuffer::Language::TaggedSymbol)
|
21
|
+
ITALIAN = T.let(:italian, Turbopuffer::Language::TaggedSymbol)
|
22
|
+
NORWEGIAN = T.let(:norwegian, Turbopuffer::Language::TaggedSymbol)
|
23
|
+
PORTUGUESE = T.let(:portuguese, Turbopuffer::Language::TaggedSymbol)
|
24
|
+
ROMANIAN = T.let(:romanian, Turbopuffer::Language::TaggedSymbol)
|
25
|
+
RUSSIAN = T.let(:russian, Turbopuffer::Language::TaggedSymbol)
|
26
|
+
SPANISH = T.let(:spanish, Turbopuffer::Language::TaggedSymbol)
|
27
|
+
SWEDISH = T.let(:swedish, Turbopuffer::Language::TaggedSymbol)
|
28
|
+
TAMIL = T.let(:tamil, Turbopuffer::Language::TaggedSymbol)
|
29
|
+
TURKISH = T.let(:turkish, Turbopuffer::Language::TaggedSymbol)
|
30
|
+
|
31
|
+
sig { override.returns(T::Array[Turbopuffer::Language::TaggedSymbol]) }
|
32
|
+
def self.values
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class NamespaceDeleteAllParams < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
extend Turbopuffer::Internal::Type::RequestParameters::Converter
|
7
|
+
include Turbopuffer::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Turbopuffer::NamespaceDeleteAllParams,
|
13
|
+
Turbopuffer::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
sig { returns(T.nilable(String)) }
|
18
|
+
attr_reader :namespace
|
19
|
+
|
20
|
+
sig { params(namespace: String).void }
|
21
|
+
attr_writer :namespace
|
22
|
+
|
23
|
+
sig do
|
24
|
+
params(
|
25
|
+
namespace: String,
|
26
|
+
request_options: Turbopuffer::RequestOptions::OrHash
|
27
|
+
).returns(T.attached_class)
|
28
|
+
end
|
29
|
+
def self.new(namespace: nil, request_options: {})
|
30
|
+
end
|
31
|
+
|
32
|
+
sig do
|
33
|
+
override.returns(
|
34
|
+
{ namespace: String, request_options: Turbopuffer::RequestOptions }
|
35
|
+
)
|
36
|
+
end
|
37
|
+
def to_hash
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class NamespaceDeleteAllResponse < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(
|
9
|
+
Turbopuffer::Models::NamespaceDeleteAllResponse,
|
10
|
+
Turbopuffer::Internal::AnyHash
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
# The status of the request.
|
15
|
+
sig { returns(Symbol) }
|
16
|
+
attr_accessor :status
|
17
|
+
|
18
|
+
# The response to a successful namespace deletion request.
|
19
|
+
sig { params(status: Symbol).returns(T.attached_class) }
|
20
|
+
def self.new(
|
21
|
+
# The status of the request.
|
22
|
+
status: :OK
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
sig { override.returns({ status: Symbol }) }
|
27
|
+
def to_hash
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class NamespaceHintCacheWarmParams < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
extend Turbopuffer::Internal::Type::RequestParameters::Converter
|
7
|
+
include Turbopuffer::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Turbopuffer::NamespaceHintCacheWarmParams,
|
13
|
+
Turbopuffer::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
sig { returns(T.nilable(String)) }
|
18
|
+
attr_reader :namespace
|
19
|
+
|
20
|
+
sig { params(namespace: String).void }
|
21
|
+
attr_writer :namespace
|
22
|
+
|
23
|
+
sig do
|
24
|
+
params(
|
25
|
+
namespace: String,
|
26
|
+
request_options: Turbopuffer::RequestOptions::OrHash
|
27
|
+
).returns(T.attached_class)
|
28
|
+
end
|
29
|
+
def self.new(namespace: nil, request_options: {})
|
30
|
+
end
|
31
|
+
|
32
|
+
sig do
|
33
|
+
override.returns(
|
34
|
+
{ namespace: String, request_options: Turbopuffer::RequestOptions }
|
35
|
+
)
|
36
|
+
end
|
37
|
+
def to_hash
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class NamespaceHintCacheWarmResponse < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(
|
9
|
+
Turbopuffer::Models::NamespaceHintCacheWarmResponse,
|
10
|
+
Turbopuffer::Internal::AnyHash
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
# The status of the request.
|
15
|
+
sig { returns(Symbol) }
|
16
|
+
attr_accessor :status
|
17
|
+
|
18
|
+
sig { returns(T.nilable(String)) }
|
19
|
+
attr_reader :message
|
20
|
+
|
21
|
+
sig { params(message: String).void }
|
22
|
+
attr_writer :message
|
23
|
+
|
24
|
+
# The response to a successful cache warm request.
|
25
|
+
sig { params(message: String, status: Symbol).returns(T.attached_class) }
|
26
|
+
def self.new(
|
27
|
+
message: nil,
|
28
|
+
# The status of the request.
|
29
|
+
status: :OK
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
sig { override.returns({ status: Symbol, message: String }) }
|
34
|
+
def to_hash
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class NamespaceMetadata < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(Turbopuffer::NamespaceMetadata, Turbopuffer::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# The approximate number of logical bytes in the namespace.
|
12
|
+
sig { returns(Integer) }
|
13
|
+
attr_accessor :approx_logical_bytes
|
14
|
+
|
15
|
+
# The timestamp when the namespace was created.
|
16
|
+
sig { returns(Time) }
|
17
|
+
attr_accessor :created_at
|
18
|
+
|
19
|
+
# The schema of the namespace.
|
20
|
+
sig { returns(T::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]) }
|
21
|
+
attr_accessor :schema
|
22
|
+
|
23
|
+
# Metadata about a namespace.
|
24
|
+
sig do
|
25
|
+
params(
|
26
|
+
approx_logical_bytes: Integer,
|
27
|
+
created_at: Time,
|
28
|
+
schema: T::Hash[Symbol, Turbopuffer::AttributeSchemaConfig::OrHash]
|
29
|
+
).returns(T.attached_class)
|
30
|
+
end
|
31
|
+
def self.new(
|
32
|
+
# The approximate number of logical bytes in the namespace.
|
33
|
+
approx_logical_bytes:,
|
34
|
+
# The timestamp when the namespace was created.
|
35
|
+
created_at:,
|
36
|
+
# The schema of the namespace.
|
37
|
+
schema:
|
38
|
+
)
|
39
|
+
end
|
40
|
+
|
41
|
+
sig do
|
42
|
+
override.returns(
|
43
|
+
{
|
44
|
+
approx_logical_bytes: Integer,
|
45
|
+
created_at: Time,
|
46
|
+
schema: T::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
|
47
|
+
}
|
48
|
+
)
|
49
|
+
end
|
50
|
+
def to_hash
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Turbopuffer
|
4
|
+
module Models
|
5
|
+
class NamespaceMetadataParams < Turbopuffer::Internal::Type::BaseModel
|
6
|
+
extend Turbopuffer::Internal::Type::RequestParameters::Converter
|
7
|
+
include Turbopuffer::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Turbopuffer::NamespaceMetadataParams,
|
13
|
+
Turbopuffer::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
sig { returns(T.nilable(String)) }
|
18
|
+
attr_reader :namespace
|
19
|
+
|
20
|
+
sig { params(namespace: String).void }
|
21
|
+
attr_writer :namespace
|
22
|
+
|
23
|
+
sig do
|
24
|
+
params(
|
25
|
+
namespace: String,
|
26
|
+
request_options: Turbopuffer::RequestOptions::OrHash
|
27
|
+
).returns(T.attached_class)
|
28
|
+
end
|
29
|
+
def self.new(namespace: nil, request_options: {})
|
30
|
+
end
|
31
|
+
|
32
|
+
sig do
|
33
|
+
override.returns(
|
34
|
+
{ namespace: String, request_options: Turbopuffer::RequestOptions }
|
35
|
+
)
|
36
|
+
end
|
37
|
+
def to_hash
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|