turbopuffer 0.1.0 → 1.3.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +218 -0
  4. data/README.md +270 -40
  5. data/SECURITY.md +27 -0
  6. data/lib/turbopuffer/client.rb +122 -16
  7. data/lib/turbopuffer/errors.rb +228 -0
  8. data/lib/turbopuffer/file_part.rb +55 -0
  9. data/lib/turbopuffer/internal/namespace_page.rb +86 -0
  10. data/lib/turbopuffer/internal/transport/base_client.rb +567 -0
  11. data/lib/turbopuffer/internal/transport/pooled_net_requester.rb +201 -0
  12. data/lib/turbopuffer/internal/type/array_of.rb +168 -0
  13. data/lib/turbopuffer/internal/type/base_model.rb +529 -0
  14. data/lib/turbopuffer/internal/type/base_page.rb +55 -0
  15. data/lib/turbopuffer/internal/type/boolean.rb +77 -0
  16. data/lib/turbopuffer/internal/type/converter.rb +327 -0
  17. data/lib/turbopuffer/internal/type/enum.rb +152 -0
  18. data/lib/turbopuffer/internal/type/file_input.rb +108 -0
  19. data/lib/turbopuffer/internal/type/hash_of.rb +188 -0
  20. data/lib/turbopuffer/internal/type/request_parameters.rb +42 -0
  21. data/lib/turbopuffer/internal/type/union.rb +254 -0
  22. data/lib/turbopuffer/internal/type/unknown.rb +81 -0
  23. data/lib/turbopuffer/internal/util.rb +914 -0
  24. data/lib/turbopuffer/internal.rb +20 -0
  25. data/lib/turbopuffer/models/aggregation_group.rb +8 -0
  26. data/lib/turbopuffer/models/attribute_schema.rb +19 -0
  27. data/lib/turbopuffer/models/attribute_schema_config.rb +56 -0
  28. data/lib/turbopuffer/models/attribute_type.rb +7 -0
  29. data/lib/turbopuffer/models/bm25_clause_params.rb +18 -0
  30. data/lib/turbopuffer/models/client_namespaces_params.rb +38 -0
  31. data/lib/turbopuffer/models/columns.rb +64 -0
  32. data/lib/turbopuffer/models/contains_all_tokens_filter_params.rb +18 -0
  33. data/lib/turbopuffer/models/distance_metric.rb +19 -0
  34. data/lib/turbopuffer/models/full_text_search.rb +20 -0
  35. data/lib/turbopuffer/models/full_text_search_config.rb +83 -0
  36. data/lib/turbopuffer/models/id.rb +19 -0
  37. data/lib/turbopuffer/models/include_attributes.rb +22 -0
  38. data/lib/turbopuffer/models/language.rb +32 -0
  39. data/lib/turbopuffer/models/namespace_delete_all_params.rb +20 -0
  40. data/lib/turbopuffer/models/namespace_delete_all_response.rb +19 -0
  41. data/lib/turbopuffer/models/namespace_explain_query_params.rb +137 -0
  42. data/lib/turbopuffer/models/namespace_explain_query_response.rb +19 -0
  43. data/lib/turbopuffer/models/namespace_hint_cache_warm_params.rb +20 -0
  44. data/lib/turbopuffer/models/namespace_hint_cache_warm_response.rb +26 -0
  45. data/lib/turbopuffer/models/namespace_metadata.rb +43 -0
  46. data/lib/turbopuffer/models/namespace_metadata_params.rb +20 -0
  47. data/lib/turbopuffer/models/namespace_multi_query_params.rb +73 -0
  48. data/lib/turbopuffer/models/namespace_multi_query_response.rb +58 -0
  49. data/lib/turbopuffer/models/namespace_query_params.rb +137 -0
  50. data/lib/turbopuffer/models/namespace_query_response.rb +49 -0
  51. data/lib/turbopuffer/models/namespace_recall_params.rb +66 -0
  52. data/lib/turbopuffer/models/namespace_recall_response.rb +68 -0
  53. data/lib/turbopuffer/models/namespace_schema_params.rb +20 -0
  54. data/lib/turbopuffer/models/namespace_schema_response.rb +8 -0
  55. data/lib/turbopuffer/models/namespace_summary.rb +19 -0
  56. data/lib/turbopuffer/models/namespace_update_schema_params.rb +29 -0
  57. data/lib/turbopuffer/models/namespace_update_schema_response.rb +9 -0
  58. data/lib/turbopuffer/models/namespace_write_params.rb +158 -0
  59. data/lib/turbopuffer/models/namespace_write_response.rb +67 -0
  60. data/lib/turbopuffer/models/query.rb +81 -0
  61. data/lib/turbopuffer/models/query_billing.rb +26 -0
  62. data/lib/turbopuffer/models/query_performance.rb +63 -0
  63. data/lib/turbopuffer/models/row.rb +46 -0
  64. data/lib/turbopuffer/models/tokenizer.rb +19 -0
  65. data/lib/turbopuffer/models/vector.rb +22 -0
  66. data/lib/turbopuffer/models/vector_encoding.rb +16 -0
  67. data/lib/turbopuffer/models/write_billing.rb +26 -0
  68. data/lib/turbopuffer/models.rb +110 -0
  69. data/lib/turbopuffer/namespace.rb +14 -50
  70. data/lib/turbopuffer/request_options.rb +77 -0
  71. data/lib/turbopuffer/resources/namespaces.rb +366 -0
  72. data/lib/turbopuffer/version.rb +1 -1
  73. data/lib/turbopuffer.rb +94 -4
  74. data/manifest.yaml +15 -0
  75. data/rbi/turbopuffer/client.rbi +91 -0
  76. data/rbi/turbopuffer/errors.rbi +205 -0
  77. data/rbi/turbopuffer/file_part.rbi +37 -0
  78. data/rbi/turbopuffer/internal/namespace_page.rbi +22 -0
  79. data/rbi/turbopuffer/internal/transport/base_client.rbi +297 -0
  80. data/rbi/turbopuffer/internal/transport/pooled_net_requester.rbi +80 -0
  81. data/rbi/turbopuffer/internal/type/array_of.rbi +104 -0
  82. data/rbi/turbopuffer/internal/type/base_model.rbi +304 -0
  83. data/rbi/turbopuffer/internal/type/base_page.rbi +43 -0
  84. data/rbi/turbopuffer/internal/type/boolean.rbi +58 -0
  85. data/rbi/turbopuffer/internal/type/converter.rbi +216 -0
  86. data/rbi/turbopuffer/internal/type/enum.rbi +82 -0
  87. data/rbi/turbopuffer/internal/type/file_input.rbi +59 -0
  88. data/rbi/turbopuffer/internal/type/hash_of.rbi +104 -0
  89. data/rbi/turbopuffer/internal/type/request_parameters.rbi +31 -0
  90. data/rbi/turbopuffer/internal/type/union.rbi +128 -0
  91. data/rbi/turbopuffer/internal/type/unknown.rbi +58 -0
  92. data/rbi/turbopuffer/internal/util.rbi +487 -0
  93. data/rbi/turbopuffer/internal.rbi +18 -0
  94. data/rbi/turbopuffer/models/aggregation_group.rbi +13 -0
  95. data/rbi/turbopuffer/models/attribute_schema.rbi +17 -0
  96. data/rbi/turbopuffer/models/attribute_schema_config.rbi +103 -0
  97. data/rbi/turbopuffer/models/attribute_type.rbi +7 -0
  98. data/rbi/turbopuffer/models/bm25_clause_params.rbi +31 -0
  99. data/rbi/turbopuffer/models/client_namespaces_params.rbi +71 -0
  100. data/rbi/turbopuffer/models/columns.rbi +82 -0
  101. data/rbi/turbopuffer/models/contains_all_tokens_filter_params.rbi +34 -0
  102. data/rbi/turbopuffer/models/distance_metric.rbi +27 -0
  103. data/rbi/turbopuffer/models/full_text_search.rbi +19 -0
  104. data/rbi/turbopuffer/models/full_text_search_config.rbi +133 -0
  105. data/rbi/turbopuffer/models/id.rbi +16 -0
  106. data/rbi/turbopuffer/models/include_attributes.rbi +24 -0
  107. data/rbi/turbopuffer/models/language.rbi +36 -0
  108. data/rbi/turbopuffer/models/namespace_delete_all_params.rbi +41 -0
  109. data/rbi/turbopuffer/models/namespace_delete_all_response.rbi +31 -0
  110. data/rbi/turbopuffer/models/namespace_explain_query_params.rbi +273 -0
  111. data/rbi/turbopuffer/models/namespace_explain_query_response.rbi +34 -0
  112. data/rbi/turbopuffer/models/namespace_hint_cache_warm_params.rbi +41 -0
  113. data/rbi/turbopuffer/models/namespace_hint_cache_warm_response.rbi +38 -0
  114. data/rbi/turbopuffer/models/namespace_metadata.rbi +62 -0
  115. data/rbi/turbopuffer/models/namespace_metadata_params.rbi +41 -0
  116. data/rbi/turbopuffer/models/namespace_multi_query_params.rbi +175 -0
  117. data/rbi/turbopuffer/models/namespace_multi_query_response.rbi +121 -0
  118. data/rbi/turbopuffer/models/namespace_query_params.rbi +267 -0
  119. data/rbi/turbopuffer/models/namespace_query_response.rbi +84 -0
  120. data/rbi/turbopuffer/models/namespace_recall_params.rbi +106 -0
  121. data/rbi/turbopuffer/models/namespace_recall_response.rbi +134 -0
  122. data/rbi/turbopuffer/models/namespace_schema_params.rbi +41 -0
  123. data/rbi/turbopuffer/models/namespace_schema_response.rbi +11 -0
  124. data/rbi/turbopuffer/models/namespace_summary.rbi +28 -0
  125. data/rbi/turbopuffer/models/namespace_update_schema_params.rbi +80 -0
  126. data/rbi/turbopuffer/models/namespace_update_schema_response.rbi +11 -0
  127. data/rbi/turbopuffer/models/namespace_write_params.rbi +290 -0
  128. data/rbi/turbopuffer/models/namespace_write_response.rbi +101 -0
  129. data/rbi/turbopuffer/models/query.rbi +132 -0
  130. data/rbi/turbopuffer/models/query_billing.rbi +46 -0
  131. data/rbi/turbopuffer/models/query_performance.rbi +82 -0
  132. data/rbi/turbopuffer/models/row.rbi +47 -0
  133. data/rbi/turbopuffer/models/tokenizer.rbi +24 -0
  134. data/rbi/turbopuffer/models/vector.rbi +22 -0
  135. data/rbi/turbopuffer/models/vector_encoding.rbi +22 -0
  136. data/rbi/turbopuffer/models/write_billing.rbi +49 -0
  137. data/rbi/turbopuffer/models.rbi +77 -0
  138. data/rbi/turbopuffer/namespace.rbi +8 -0
  139. data/rbi/turbopuffer/request_options.rbi +59 -0
  140. data/rbi/turbopuffer/resources/namespaces.rbi +304 -0
  141. data/rbi/turbopuffer/version.rbi +5 -0
  142. data/sig/turbopuffer/client.rbs +41 -0
  143. data/sig/turbopuffer/errors.rbs +117 -0
  144. data/sig/turbopuffer/file_part.rbs +21 -0
  145. data/sig/turbopuffer/internal/namespace_page.rbs +13 -0
  146. data/sig/turbopuffer/internal/transport/base_client.rbs +131 -0
  147. data/sig/turbopuffer/internal/transport/pooled_net_requester.rbs +45 -0
  148. data/sig/turbopuffer/internal/type/array_of.rbs +48 -0
  149. data/sig/turbopuffer/internal/type/base_model.rbs +102 -0
  150. data/sig/turbopuffer/internal/type/base_page.rbs +24 -0
  151. data/sig/turbopuffer/internal/type/boolean.rbs +26 -0
  152. data/sig/turbopuffer/internal/type/converter.rbs +79 -0
  153. data/sig/turbopuffer/internal/type/enum.rbs +32 -0
  154. data/sig/turbopuffer/internal/type/file_input.rbs +25 -0
  155. data/sig/turbopuffer/internal/type/hash_of.rbs +48 -0
  156. data/sig/turbopuffer/internal/type/request_parameters.rbs +19 -0
  157. data/sig/turbopuffer/internal/type/union.rbs +52 -0
  158. data/sig/turbopuffer/internal/type/unknown.rbs +26 -0
  159. data/sig/turbopuffer/internal/util.rbs +185 -0
  160. data/sig/turbopuffer/internal.rbs +9 -0
  161. data/sig/turbopuffer/models/aggregation_group.rbs +7 -0
  162. data/sig/turbopuffer/models/attribute_schema.rbs +11 -0
  163. data/sig/turbopuffer/models/attribute_schema_config.rbs +52 -0
  164. data/sig/turbopuffer/models/attribute_type.rbs +5 -0
  165. data/sig/turbopuffer/models/bm25_clause_params.rbs +15 -0
  166. data/sig/turbopuffer/models/client_namespaces_params.rbs +38 -0
  167. data/sig/turbopuffer/models/columns.rbs +42 -0
  168. data/sig/turbopuffer/models/contains_all_tokens_filter_params.rbs +15 -0
  169. data/sig/turbopuffer/models/distance_metric.rbs +17 -0
  170. data/sig/turbopuffer/models/full_text_search.rbs +11 -0
  171. data/sig/turbopuffer/models/full_text_search_config.rbs +75 -0
  172. data/sig/turbopuffer/models/id.rbs +11 -0
  173. data/sig/turbopuffer/models/include_attributes.rbs +13 -0
  174. data/sig/turbopuffer/models/language.rbs +48 -0
  175. data/sig/turbopuffer/models/namespace_delete_all_params.rbs +25 -0
  176. data/sig/turbopuffer/models/namespace_delete_all_response.rbs +13 -0
  177. data/sig/turbopuffer/models/namespace_explain_query_params.rbs +141 -0
  178. data/sig/turbopuffer/models/namespace_explain_query_response.rbs +15 -0
  179. data/sig/turbopuffer/models/namespace_hint_cache_warm_params.rbs +25 -0
  180. data/sig/turbopuffer/models/namespace_hint_cache_warm_response.rbs +18 -0
  181. data/sig/turbopuffer/models/namespace_metadata.rbs +35 -0
  182. data/sig/turbopuffer/models/namespace_metadata_params.rbs +25 -0
  183. data/sig/turbopuffer/models/namespace_multi_query_params.rbs +86 -0
  184. data/sig/turbopuffer/models/namespace_multi_query_response.rbs +65 -0
  185. data/sig/turbopuffer/models/namespace_query_params.rbs +139 -0
  186. data/sig/turbopuffer/models/namespace_query_response.rbs +48 -0
  187. data/sig/turbopuffer/models/namespace_recall_params.rbs +63 -0
  188. data/sig/turbopuffer/models/namespace_recall_response.rbs +61 -0
  189. data/sig/turbopuffer/models/namespace_schema_params.rbs +25 -0
  190. data/sig/turbopuffer/models/namespace_schema_response.rbs +8 -0
  191. data/sig/turbopuffer/models/namespace_summary.rbs +13 -0
  192. data/sig/turbopuffer/models/namespace_update_schema_params.rbs +37 -0
  193. data/sig/turbopuffer/models/namespace_update_schema_response.rbs +8 -0
  194. data/sig/turbopuffer/models/namespace_write_params.rbs +156 -0
  195. data/sig/turbopuffer/models/namespace_write_response.rbs +56 -0
  196. data/sig/turbopuffer/models/query.rbs +75 -0
  197. data/sig/turbopuffer/models/query_billing.rbs +25 -0
  198. data/sig/turbopuffer/models/query_performance.rbs +45 -0
  199. data/sig/turbopuffer/models/row.rbs +24 -0
  200. data/sig/turbopuffer/models/tokenizer.rbs +16 -0
  201. data/sig/turbopuffer/models/vector.rbs +13 -0
  202. data/sig/turbopuffer/models/vector_encoding.rbs +14 -0
  203. data/sig/turbopuffer/models/write_billing.rbs +27 -0
  204. data/sig/turbopuffer/models.rbs +69 -0
  205. data/sig/turbopuffer/namespace.rbs +5 -0
  206. data/sig/turbopuffer/request_options.rbs +36 -0
  207. data/sig/turbopuffer/resources/namespaces.rbs +99 -0
  208. data/sig/turbopuffer/version.rbs +3 -0
  209. metadata +224 -29
  210. data/.standard.yml +0 -3
  211. data/LICENSE.txt +0 -21
  212. data/Rakefile +0 -10
  213. data/sig/turbopuffer.rbs +0 -4
@@ -0,0 +1,11 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type attribute_schema = String | Turbopuffer::AttributeSchemaConfig
4
+
5
+ module AttributeSchema
6
+ extend Turbopuffer::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Turbopuffer::Models::attribute_schema]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,52 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type attribute_schema_config =
4
+ {
5
+ ann: bool,
6
+ filterable: bool,
7
+ full_text_search: Turbopuffer::Models::full_text_search,
8
+ regex: bool,
9
+ type: String
10
+ }
11
+
12
+ class AttributeSchemaConfig < Turbopuffer::Internal::Type::BaseModel
13
+ attr_reader ann: bool?
14
+
15
+ def ann=: (bool) -> bool
16
+
17
+ attr_reader filterable: bool?
18
+
19
+ def filterable=: (bool) -> bool
20
+
21
+ attr_reader full_text_search: Turbopuffer::Models::full_text_search?
22
+
23
+ def full_text_search=: (
24
+ Turbopuffer::Models::full_text_search
25
+ ) -> Turbopuffer::Models::full_text_search
26
+
27
+ attr_reader regex: bool?
28
+
29
+ def regex=: (bool) -> bool
30
+
31
+ attr_reader type: String?
32
+
33
+ def type=: (String) -> String
34
+
35
+ def initialize: (
36
+ ?ann: bool,
37
+ ?filterable: bool,
38
+ ?full_text_search: Turbopuffer::Models::full_text_search,
39
+ ?regex: bool,
40
+ ?type: String
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ ann: bool,
45
+ filterable: bool,
46
+ full_text_search: Turbopuffer::Models::full_text_search,
47
+ regex: bool,
48
+ type: String
49
+ }
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,5 @@
1
+ module Turbopuffer
2
+ module Models
3
+ class AttributeType = String
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type bm25_clause_params = { last_as_prefix: bool }
4
+
5
+ class Bm25ClauseParams < Turbopuffer::Internal::Type::BaseModel
6
+ attr_reader last_as_prefix: bool?
7
+
8
+ def last_as_prefix=: (bool) -> bool
9
+
10
+ def initialize: (?last_as_prefix: bool) -> void
11
+
12
+ def to_hash: -> { last_as_prefix: bool }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,38 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type client_namespaces_params =
4
+ { cursor: String, page_size: Integer, prefix: String }
5
+ & Turbopuffer::Internal::Type::request_parameters
6
+
7
+ class ClientNamespacesParams < Turbopuffer::Internal::Type::BaseModel
8
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
9
+ include Turbopuffer::Internal::Type::RequestParameters
10
+
11
+ attr_reader cursor: String?
12
+
13
+ def cursor=: (String) -> String
14
+
15
+ attr_reader page_size: Integer?
16
+
17
+ def page_size=: (Integer) -> Integer
18
+
19
+ attr_reader prefix: String?
20
+
21
+ def prefix=: (String) -> String
22
+
23
+ def initialize: (
24
+ ?cursor: String,
25
+ ?page_size: Integer,
26
+ ?prefix: String,
27
+ ?request_options: Turbopuffer::request_opts
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ cursor: String,
32
+ page_size: Integer,
33
+ prefix: String,
34
+ request_options: Turbopuffer::RequestOptions
35
+ }
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,42 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type columns =
4
+ {
5
+ id: ::Array[Turbopuffer::Models::id],
6
+ vector: Turbopuffer::Models::Columns::vector
7
+ }
8
+
9
+ class Columns < Turbopuffer::Internal::Type::BaseModel
10
+ attr_accessor id: ::Array[Turbopuffer::Models::id]
11
+
12
+ attr_reader vector: Turbopuffer::Models::Columns::vector?
13
+
14
+ def vector=: (
15
+ Turbopuffer::Models::Columns::vector
16
+ ) -> Turbopuffer::Models::Columns::vector
17
+
18
+ def initialize: (
19
+ id: ::Array[Turbopuffer::Models::id],
20
+ ?vector: Turbopuffer::Models::Columns::vector
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ id: ::Array[Turbopuffer::Models::id],
25
+ vector: Turbopuffer::Models::Columns::vector
26
+ }
27
+
28
+ type vector =
29
+ ::Array[Turbopuffer::Models::vector] | ::Array[Float] | String
30
+
31
+ module Vector
32
+ extend Turbopuffer::Internal::Type::Union
33
+
34
+ def self?.variants: -> ::Array[Turbopuffer::Models::Columns::vector]
35
+
36
+ VectorArray: Turbopuffer::Internal::Type::Converter
37
+
38
+ FloatArray: Turbopuffer::Internal::Type::Converter
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,15 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type contains_all_tokens_filter_params = { last_as_prefix: bool }
4
+
5
+ class ContainsAllTokensFilterParams < Turbopuffer::Internal::Type::BaseModel
6
+ attr_reader last_as_prefix: bool?
7
+
8
+ def last_as_prefix=: (bool) -> bool
9
+
10
+ def initialize: (?last_as_prefix: bool) -> void
11
+
12
+ def to_hash: -> { last_as_prefix: bool }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type distance_metric = :cosine_distance | :euclidean_squared
4
+
5
+ module DistanceMetric
6
+ extend Turbopuffer::Internal::Type::Enum
7
+
8
+ # Defined as `1 - cosine_similarity` and ranges from 0 to 2. Lower is better.
9
+ COSINE_DISTANCE: :cosine_distance
10
+
11
+ # Defined as `sum((x - y)^2)`. Lower is better.
12
+ EUCLIDEAN_SQUARED: :euclidean_squared
13
+
14
+ def self?.values: -> ::Array[Turbopuffer::Models::distance_metric]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type full_text_search = bool | Turbopuffer::FullTextSearchConfig
4
+
5
+ module FullTextSearch
6
+ extend Turbopuffer::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Turbopuffer::Models::full_text_search]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,75 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type full_text_search_config =
4
+ {
5
+ b: Float,
6
+ case_sensitive: bool,
7
+ :k1 => Float,
8
+ language: Turbopuffer::Models::language,
9
+ max_token_length: Integer,
10
+ remove_stopwords: bool,
11
+ stemming: bool,
12
+ tokenizer: Turbopuffer::Models::tokenizer
13
+ }
14
+
15
+ class FullTextSearchConfig < Turbopuffer::Internal::Type::BaseModel
16
+ attr_reader b: Float?
17
+
18
+ def b=: (Float) -> Float
19
+
20
+ attr_reader case_sensitive: bool?
21
+
22
+ def case_sensitive=: (bool) -> bool
23
+
24
+ attr_reader k1: Float?
25
+
26
+ def k1=: (Float) -> Float
27
+
28
+ attr_reader language: Turbopuffer::Models::language?
29
+
30
+ def language=: (
31
+ Turbopuffer::Models::language
32
+ ) -> Turbopuffer::Models::language
33
+
34
+ attr_reader max_token_length: Integer?
35
+
36
+ def max_token_length=: (Integer) -> Integer
37
+
38
+ attr_reader remove_stopwords: bool?
39
+
40
+ def remove_stopwords=: (bool) -> bool
41
+
42
+ attr_reader stemming: bool?
43
+
44
+ def stemming=: (bool) -> bool
45
+
46
+ attr_reader tokenizer: Turbopuffer::Models::tokenizer?
47
+
48
+ def tokenizer=: (
49
+ Turbopuffer::Models::tokenizer
50
+ ) -> Turbopuffer::Models::tokenizer
51
+
52
+ def initialize: (
53
+ ?b: Float,
54
+ ?case_sensitive: bool,
55
+ ?k1: Float,
56
+ ?language: Turbopuffer::Models::language,
57
+ ?max_token_length: Integer,
58
+ ?remove_stopwords: bool,
59
+ ?stemming: bool,
60
+ ?tokenizer: Turbopuffer::Models::tokenizer
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ b: Float,
65
+ case_sensitive: bool,
66
+ :k1 => Float,
67
+ language: Turbopuffer::Models::language,
68
+ max_token_length: Integer,
69
+ remove_stopwords: bool,
70
+ stemming: bool,
71
+ tokenizer: Turbopuffer::Models::tokenizer
72
+ }
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,11 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type id = String | Integer
4
+
5
+ module ID
6
+ extend Turbopuffer::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Turbopuffer::Models::id]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type include_attributes = bool | ::Array[String]
4
+
5
+ module IncludeAttributes
6
+ extend Turbopuffer::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Turbopuffer::Models::include_attributes]
9
+
10
+ StringArray: Turbopuffer::Internal::Type::Converter
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,48 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type language =
4
+ :arabic
5
+ | :danish
6
+ | :dutch
7
+ | :english
8
+ | :finnish
9
+ | :french
10
+ | :german
11
+ | :greek
12
+ | :hungarian
13
+ | :italian
14
+ | :norwegian
15
+ | :portuguese
16
+ | :romanian
17
+ | :russian
18
+ | :spanish
19
+ | :swedish
20
+ | :tamil
21
+ | :turkish
22
+
23
+ module Language
24
+ extend Turbopuffer::Internal::Type::Enum
25
+
26
+ ARABIC: :arabic
27
+ DANISH: :danish
28
+ DUTCH: :dutch
29
+ ENGLISH: :english
30
+ FINNISH: :finnish
31
+ FRENCH: :french
32
+ GERMAN: :german
33
+ GREEK: :greek
34
+ HUNGARIAN: :hungarian
35
+ ITALIAN: :italian
36
+ NORWEGIAN: :norwegian
37
+ PORTUGUESE: :portuguese
38
+ ROMANIAN: :romanian
39
+ RUSSIAN: :russian
40
+ SPANISH: :spanish
41
+ SWEDISH: :swedish
42
+ TAMIL: :tamil
43
+ TURKISH: :turkish
44
+
45
+ def self?.values: -> ::Array[Turbopuffer::Models::language]
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,25 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_delete_all_params =
4
+ { namespace: String } & Turbopuffer::Internal::Type::request_parameters
5
+
6
+ class NamespaceDeleteAllParams < Turbopuffer::Internal::Type::BaseModel
7
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
8
+ include Turbopuffer::Internal::Type::RequestParameters
9
+
10
+ attr_reader namespace: String?
11
+
12
+ def namespace=: (String) -> String
13
+
14
+ def initialize: (
15
+ ?namespace: String,
16
+ ?request_options: Turbopuffer::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ namespace: String,
21
+ request_options: Turbopuffer::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_delete_all_response = { status: :OK }
4
+
5
+ class NamespaceDeleteAllResponse < Turbopuffer::Internal::Type::BaseModel
6
+ attr_accessor status: :OK
7
+
8
+ def initialize: (?status: :OK) -> void
9
+
10
+ def to_hash: -> { status: :OK }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,141 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_explain_query_params =
4
+ {
5
+ namespace: String,
6
+ aggregate_by: ::Hash[Symbol, top],
7
+ consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency,
8
+ distance_metric: Turbopuffer::Models::distance_metric,
9
+ exclude_attributes: ::Array[String],
10
+ filters: top,
11
+ group_by: ::Array[String],
12
+ include_attributes: Turbopuffer::Models::include_attributes,
13
+ rank_by: top,
14
+ top_k: Integer,
15
+ vector_encoding: Turbopuffer::Models::vector_encoding
16
+ }
17
+ & Turbopuffer::Internal::Type::request_parameters
18
+
19
+ class NamespaceExplainQueryParams < Turbopuffer::Internal::Type::BaseModel
20
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
21
+ include Turbopuffer::Internal::Type::RequestParameters
22
+
23
+ attr_reader namespace: String?
24
+
25
+ def namespace=: (String) -> String
26
+
27
+ attr_reader aggregate_by: ::Hash[Symbol, top]?
28
+
29
+ def aggregate_by=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
30
+
31
+ attr_reader consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency?
32
+
33
+ def consistency=: (
34
+ Turbopuffer::NamespaceExplainQueryParams::Consistency
35
+ ) -> Turbopuffer::NamespaceExplainQueryParams::Consistency
36
+
37
+ attr_reader distance_metric: Turbopuffer::Models::distance_metric?
38
+
39
+ def distance_metric=: (
40
+ Turbopuffer::Models::distance_metric
41
+ ) -> Turbopuffer::Models::distance_metric
42
+
43
+ attr_reader exclude_attributes: ::Array[String]?
44
+
45
+ def exclude_attributes=: (::Array[String]) -> ::Array[String]
46
+
47
+ attr_reader filters: top?
48
+
49
+ def filters=: (top) -> top
50
+
51
+ attr_reader group_by: ::Array[String]?
52
+
53
+ def group_by=: (::Array[String]) -> ::Array[String]
54
+
55
+ attr_reader include_attributes: Turbopuffer::Models::include_attributes?
56
+
57
+ def include_attributes=: (
58
+ Turbopuffer::Models::include_attributes
59
+ ) -> Turbopuffer::Models::include_attributes
60
+
61
+ attr_reader rank_by: top?
62
+
63
+ def rank_by=: (top) -> top
64
+
65
+ attr_reader top_k: Integer?
66
+
67
+ def top_k=: (Integer) -> Integer
68
+
69
+ attr_reader vector_encoding: Turbopuffer::Models::vector_encoding?
70
+
71
+ def vector_encoding=: (
72
+ Turbopuffer::Models::vector_encoding
73
+ ) -> Turbopuffer::Models::vector_encoding
74
+
75
+ def initialize: (
76
+ ?namespace: String,
77
+ ?aggregate_by: ::Hash[Symbol, top],
78
+ ?consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency,
79
+ ?distance_metric: Turbopuffer::Models::distance_metric,
80
+ ?exclude_attributes: ::Array[String],
81
+ ?filters: top,
82
+ ?group_by: ::Array[String],
83
+ ?include_attributes: Turbopuffer::Models::include_attributes,
84
+ ?rank_by: top,
85
+ ?top_k: Integer,
86
+ ?vector_encoding: Turbopuffer::Models::vector_encoding,
87
+ ?request_options: Turbopuffer::request_opts
88
+ ) -> void
89
+
90
+ def to_hash: -> {
91
+ namespace: String,
92
+ aggregate_by: ::Hash[Symbol, top],
93
+ consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency,
94
+ distance_metric: Turbopuffer::Models::distance_metric,
95
+ exclude_attributes: ::Array[String],
96
+ filters: top,
97
+ group_by: ::Array[String],
98
+ include_attributes: Turbopuffer::Models::include_attributes,
99
+ rank_by: top,
100
+ top_k: Integer,
101
+ vector_encoding: Turbopuffer::Models::vector_encoding,
102
+ request_options: Turbopuffer::RequestOptions
103
+ }
104
+
105
+ type consistency =
106
+ {
107
+ level: Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level
108
+ }
109
+
110
+ class Consistency < Turbopuffer::Internal::Type::BaseModel
111
+ attr_reader level: Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level?
112
+
113
+ def level=: (
114
+ Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level
115
+ ) -> Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level
116
+
117
+ def initialize: (
118
+ ?level: Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level
119
+ ) -> void
120
+
121
+ def to_hash: -> {
122
+ level: Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level
123
+ }
124
+
125
+ type level = :strong | :eventual
126
+
127
+ module Level
128
+ extend Turbopuffer::Internal::Type::Enum
129
+
130
+ # Strong consistency. Requires a round-trip to object storage to fetch the latest writes.
131
+ STRONG: :strong
132
+
133
+ # Eventual consistency. Does not require a round-trip to object storage, but may not see the latest writes.
134
+ EVENTUAL: :eventual
135
+
136
+ def self?.values: -> ::Array[Turbopuffer::Models::NamespaceExplainQueryParams::Consistency::level]
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,15 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_explain_query_response = { plan_text: String }
4
+
5
+ class NamespaceExplainQueryResponse < Turbopuffer::Internal::Type::BaseModel
6
+ attr_reader plan_text: String?
7
+
8
+ def plan_text=: (String) -> String
9
+
10
+ def initialize: (?plan_text: String) -> void
11
+
12
+ def to_hash: -> { plan_text: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_hint_cache_warm_params =
4
+ { namespace: String } & Turbopuffer::Internal::Type::request_parameters
5
+
6
+ class NamespaceHintCacheWarmParams < Turbopuffer::Internal::Type::BaseModel
7
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
8
+ include Turbopuffer::Internal::Type::RequestParameters
9
+
10
+ attr_reader namespace: String?
11
+
12
+ def namespace=: (String) -> String
13
+
14
+ def initialize: (
15
+ ?namespace: String,
16
+ ?request_options: Turbopuffer::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ namespace: String,
21
+ request_options: Turbopuffer::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,18 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_hint_cache_warm_response =
4
+ { status: :ACCEPTED, message: String }
5
+
6
+ class NamespaceHintCacheWarmResponse < Turbopuffer::Internal::Type::BaseModel
7
+ attr_accessor status: :ACCEPTED
8
+
9
+ attr_reader message: String?
10
+
11
+ def message=: (String) -> String
12
+
13
+ def initialize: (?message: String, ?status: :ACCEPTED) -> void
14
+
15
+ def to_hash: -> { status: :ACCEPTED, message: String }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,35 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_metadata =
4
+ {
5
+ approx_logical_bytes: Integer,
6
+ approx_row_count: Integer,
7
+ created_at: Time,
8
+ schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
9
+ }
10
+
11
+ class NamespaceMetadata < Turbopuffer::Internal::Type::BaseModel
12
+ attr_accessor approx_logical_bytes: Integer
13
+
14
+ attr_accessor approx_row_count: Integer
15
+
16
+ attr_accessor created_at: Time
17
+
18
+ attr_accessor schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
19
+
20
+ def initialize: (
21
+ approx_logical_bytes: Integer,
22
+ approx_row_count: Integer,
23
+ created_at: Time,
24
+ schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ approx_logical_bytes: Integer,
29
+ approx_row_count: Integer,
30
+ created_at: Time,
31
+ schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
32
+ }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,25 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_metadata_params =
4
+ { namespace: String } & Turbopuffer::Internal::Type::request_parameters
5
+
6
+ class NamespaceMetadataParams < Turbopuffer::Internal::Type::BaseModel
7
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
8
+ include Turbopuffer::Internal::Type::RequestParameters
9
+
10
+ attr_reader namespace: String?
11
+
12
+ def namespace=: (String) -> String
13
+
14
+ def initialize: (
15
+ ?namespace: String,
16
+ ?request_options: Turbopuffer::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ namespace: String,
21
+ request_options: Turbopuffer::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end