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.
Files changed (194) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +60 -0
  4. data/README.md +291 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/turbopuffer/client.rb +130 -0
  7. data/lib/turbopuffer/errors.rb +214 -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 +563 -0
  11. data/lib/turbopuffer/internal/transport/pooled_net_requester.rb +209 -0
  12. data/lib/turbopuffer/internal/type/array_of.rb +167 -0
  13. data/lib/turbopuffer/internal/type/base_model.rb +534 -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 +300 -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 +187 -0
  20. data/lib/turbopuffer/internal/type/request_parameters.rb +42 -0
  21. data/lib/turbopuffer/internal/type/union.rb +252 -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/attribute_schema.rb +19 -0
  26. data/lib/turbopuffer/models/attribute_schema_config.rb +48 -0
  27. data/lib/turbopuffer/models/attribute_type.rb +7 -0
  28. data/lib/turbopuffer/models/client_namespaces_params.rb +38 -0
  29. data/lib/turbopuffer/models/columns.rb +64 -0
  30. data/lib/turbopuffer/models/distance_metric.rb +19 -0
  31. data/lib/turbopuffer/models/full_text_search.rb +20 -0
  32. data/lib/turbopuffer/models/full_text_search_config.rb +72 -0
  33. data/lib/turbopuffer/models/id.rb +19 -0
  34. data/lib/turbopuffer/models/include_attributes.rb +22 -0
  35. data/lib/turbopuffer/models/language.rb +32 -0
  36. data/lib/turbopuffer/models/namespace_delete_all_params.rb +20 -0
  37. data/lib/turbopuffer/models/namespace_delete_all_response.rb +19 -0
  38. data/lib/turbopuffer/models/namespace_hint_cache_warm_params.rb +20 -0
  39. data/lib/turbopuffer/models/namespace_hint_cache_warm_response.rb +26 -0
  40. data/lib/turbopuffer/models/namespace_metadata.rb +35 -0
  41. data/lib/turbopuffer/models/namespace_metadata_params.rb +20 -0
  42. data/lib/turbopuffer/models/namespace_multi_query_params.rb +73 -0
  43. data/lib/turbopuffer/models/namespace_multi_query_response.rb +51 -0
  44. data/lib/turbopuffer/models/namespace_query_params.rb +119 -0
  45. data/lib/turbopuffer/models/namespace_query_response.rb +41 -0
  46. data/lib/turbopuffer/models/namespace_recall_params.rb +57 -0
  47. data/lib/turbopuffer/models/namespace_recall_response.rb +39 -0
  48. data/lib/turbopuffer/models/namespace_schema_params.rb +20 -0
  49. data/lib/turbopuffer/models/namespace_schema_response.rb +8 -0
  50. data/lib/turbopuffer/models/namespace_summary.rb +19 -0
  51. data/lib/turbopuffer/models/namespace_update_schema_params.rb +29 -0
  52. data/lib/turbopuffer/models/namespace_update_schema_response.rb +9 -0
  53. data/lib/turbopuffer/models/namespace_write_params.rb +158 -0
  54. data/lib/turbopuffer/models/namespace_write_response.rb +67 -0
  55. data/lib/turbopuffer/models/query.rb +63 -0
  56. data/lib/turbopuffer/models/query_billing.rb +26 -0
  57. data/lib/turbopuffer/models/query_performance.rb +63 -0
  58. data/lib/turbopuffer/models/row.rb +38 -0
  59. data/lib/turbopuffer/models/tokenizer.rb +17 -0
  60. data/lib/turbopuffer/models/vector.rb +22 -0
  61. data/lib/turbopuffer/models/vector_encoding.rb +16 -0
  62. data/lib/turbopuffer/models/write_billing.rb +26 -0
  63. data/lib/turbopuffer/models.rb +101 -0
  64. data/lib/turbopuffer/namespace.rb +22 -0
  65. data/lib/turbopuffer/request_options.rb +77 -0
  66. data/lib/turbopuffer/resources/namespaces.rb +311 -0
  67. data/lib/turbopuffer/version.rb +5 -0
  68. data/lib/turbopuffer.rb +94 -0
  69. data/manifest.yaml +15 -0
  70. data/rbi/turbopuffer/client.rbi +91 -0
  71. data/rbi/turbopuffer/errors.rbi +178 -0
  72. data/rbi/turbopuffer/file_part.rbi +37 -0
  73. data/rbi/turbopuffer/internal/namespace_page.rbi +22 -0
  74. data/rbi/turbopuffer/internal/transport/base_client.rbi +298 -0
  75. data/rbi/turbopuffer/internal/transport/pooled_net_requester.rbi +80 -0
  76. data/rbi/turbopuffer/internal/type/array_of.rbi +104 -0
  77. data/rbi/turbopuffer/internal/type/base_model.rbi +304 -0
  78. data/rbi/turbopuffer/internal/type/base_page.rbi +43 -0
  79. data/rbi/turbopuffer/internal/type/boolean.rbi +58 -0
  80. data/rbi/turbopuffer/internal/type/converter.rbi +162 -0
  81. data/rbi/turbopuffer/internal/type/enum.rbi +82 -0
  82. data/rbi/turbopuffer/internal/type/file_input.rbi +59 -0
  83. data/rbi/turbopuffer/internal/type/hash_of.rbi +104 -0
  84. data/rbi/turbopuffer/internal/type/request_parameters.rbi +31 -0
  85. data/rbi/turbopuffer/internal/type/union.rbi +121 -0
  86. data/rbi/turbopuffer/internal/type/unknown.rbi +58 -0
  87. data/rbi/turbopuffer/internal/util.rbi +487 -0
  88. data/rbi/turbopuffer/internal.rbi +18 -0
  89. data/rbi/turbopuffer/models/attribute_schema.rbi +17 -0
  90. data/rbi/turbopuffer/models/attribute_schema_config.rbi +92 -0
  91. data/rbi/turbopuffer/models/attribute_type.rbi +7 -0
  92. data/rbi/turbopuffer/models/client_namespaces_params.rbi +71 -0
  93. data/rbi/turbopuffer/models/columns.rbi +82 -0
  94. data/rbi/turbopuffer/models/distance_metric.rbi +27 -0
  95. data/rbi/turbopuffer/models/full_text_search.rbi +19 -0
  96. data/rbi/turbopuffer/models/full_text_search_config.rbi +116 -0
  97. data/rbi/turbopuffer/models/id.rbi +16 -0
  98. data/rbi/turbopuffer/models/include_attributes.rbi +24 -0
  99. data/rbi/turbopuffer/models/language.rbi +36 -0
  100. data/rbi/turbopuffer/models/namespace_delete_all_params.rbi +41 -0
  101. data/rbi/turbopuffer/models/namespace_delete_all_response.rbi +31 -0
  102. data/rbi/turbopuffer/models/namespace_hint_cache_warm_params.rbi +41 -0
  103. data/rbi/turbopuffer/models/namespace_hint_cache_warm_response.rbi +38 -0
  104. data/rbi/turbopuffer/models/namespace_metadata.rbi +54 -0
  105. data/rbi/turbopuffer/models/namespace_metadata_params.rbi +41 -0
  106. data/rbi/turbopuffer/models/namespace_multi_query_params.rbi +175 -0
  107. data/rbi/turbopuffer/models/namespace_multi_query_response.rbi +111 -0
  108. data/rbi/turbopuffer/models/namespace_query_params.rbi +241 -0
  109. data/rbi/turbopuffer/models/namespace_query_response.rbi +73 -0
  110. data/rbi/turbopuffer/models/namespace_recall_params.rbi +93 -0
  111. data/rbi/turbopuffer/models/namespace_recall_response.rbi +59 -0
  112. data/rbi/turbopuffer/models/namespace_schema_params.rbi +41 -0
  113. data/rbi/turbopuffer/models/namespace_schema_response.rbi +11 -0
  114. data/rbi/turbopuffer/models/namespace_summary.rbi +28 -0
  115. data/rbi/turbopuffer/models/namespace_update_schema_params.rbi +80 -0
  116. data/rbi/turbopuffer/models/namespace_update_schema_response.rbi +11 -0
  117. data/rbi/turbopuffer/models/namespace_write_params.rbi +290 -0
  118. data/rbi/turbopuffer/models/namespace_write_response.rbi +101 -0
  119. data/rbi/turbopuffer/models/query.rbi +106 -0
  120. data/rbi/turbopuffer/models/query_billing.rbi +46 -0
  121. data/rbi/turbopuffer/models/query_performance.rbi +82 -0
  122. data/rbi/turbopuffer/models/row.rbi +47 -0
  123. data/rbi/turbopuffer/models/tokenizer.rbi +22 -0
  124. data/rbi/turbopuffer/models/vector.rbi +22 -0
  125. data/rbi/turbopuffer/models/vector_encoding.rbi +22 -0
  126. data/rbi/turbopuffer/models/write_billing.rbi +49 -0
  127. data/rbi/turbopuffer/models.rbi +64 -0
  128. data/rbi/turbopuffer/namespace.rbi +8 -0
  129. data/rbi/turbopuffer/request_options.rbi +59 -0
  130. data/rbi/turbopuffer/resources/namespaces.rbi +243 -0
  131. data/rbi/turbopuffer/version.rbi +5 -0
  132. data/sig/turbopuffer/client.rbs +41 -0
  133. data/sig/turbopuffer/errors.rbs +110 -0
  134. data/sig/turbopuffer/file_part.rbs +21 -0
  135. data/sig/turbopuffer/internal/namespace_page.rbs +13 -0
  136. data/sig/turbopuffer/internal/transport/base_client.rbs +131 -0
  137. data/sig/turbopuffer/internal/transport/pooled_net_requester.rbs +45 -0
  138. data/sig/turbopuffer/internal/type/array_of.rbs +48 -0
  139. data/sig/turbopuffer/internal/type/base_model.rbs +102 -0
  140. data/sig/turbopuffer/internal/type/base_page.rbs +24 -0
  141. data/sig/turbopuffer/internal/type/boolean.rbs +26 -0
  142. data/sig/turbopuffer/internal/type/converter.rbs +62 -0
  143. data/sig/turbopuffer/internal/type/enum.rbs +32 -0
  144. data/sig/turbopuffer/internal/type/file_input.rbs +25 -0
  145. data/sig/turbopuffer/internal/type/hash_of.rbs +48 -0
  146. data/sig/turbopuffer/internal/type/request_parameters.rbs +19 -0
  147. data/sig/turbopuffer/internal/type/union.rbs +52 -0
  148. data/sig/turbopuffer/internal/type/unknown.rbs +26 -0
  149. data/sig/turbopuffer/internal/util.rbs +185 -0
  150. data/sig/turbopuffer/internal.rbs +9 -0
  151. data/sig/turbopuffer/models/attribute_schema.rbs +11 -0
  152. data/sig/turbopuffer/models/attribute_schema_config.rbs +45 -0
  153. data/sig/turbopuffer/models/attribute_type.rbs +5 -0
  154. data/sig/turbopuffer/models/client_namespaces_params.rbs +38 -0
  155. data/sig/turbopuffer/models/columns.rbs +42 -0
  156. data/sig/turbopuffer/models/distance_metric.rbs +17 -0
  157. data/sig/turbopuffer/models/full_text_search.rbs +11 -0
  158. data/sig/turbopuffer/models/full_text_search_config.rbs +68 -0
  159. data/sig/turbopuffer/models/id.rbs +11 -0
  160. data/sig/turbopuffer/models/include_attributes.rbs +13 -0
  161. data/sig/turbopuffer/models/language.rbs +48 -0
  162. data/sig/turbopuffer/models/namespace_delete_all_params.rbs +25 -0
  163. data/sig/turbopuffer/models/namespace_delete_all_response.rbs +13 -0
  164. data/sig/turbopuffer/models/namespace_hint_cache_warm_params.rbs +25 -0
  165. data/sig/turbopuffer/models/namespace_hint_cache_warm_response.rbs +17 -0
  166. data/sig/turbopuffer/models/namespace_metadata.rbs +30 -0
  167. data/sig/turbopuffer/models/namespace_metadata_params.rbs +25 -0
  168. data/sig/turbopuffer/models/namespace_multi_query_params.rbs +86 -0
  169. data/sig/turbopuffer/models/namespace_multi_query_response.rbs +53 -0
  170. data/sig/turbopuffer/models/namespace_query_params.rbs +125 -0
  171. data/sig/turbopuffer/models/namespace_query_response.rbs +39 -0
  172. data/sig/turbopuffer/models/namespace_recall_params.rbs +56 -0
  173. data/sig/turbopuffer/models/namespace_recall_response.rbs +26 -0
  174. data/sig/turbopuffer/models/namespace_schema_params.rbs +25 -0
  175. data/sig/turbopuffer/models/namespace_schema_response.rbs +8 -0
  176. data/sig/turbopuffer/models/namespace_summary.rbs +13 -0
  177. data/sig/turbopuffer/models/namespace_update_schema_params.rbs +37 -0
  178. data/sig/turbopuffer/models/namespace_update_schema_response.rbs +8 -0
  179. data/sig/turbopuffer/models/namespace_write_params.rbs +156 -0
  180. data/sig/turbopuffer/models/namespace_write_response.rbs +56 -0
  181. data/sig/turbopuffer/models/query.rbs +61 -0
  182. data/sig/turbopuffer/models/query_billing.rbs +25 -0
  183. data/sig/turbopuffer/models/query_performance.rbs +45 -0
  184. data/sig/turbopuffer/models/row.rbs +24 -0
  185. data/sig/turbopuffer/models/tokenizer.rbs +15 -0
  186. data/sig/turbopuffer/models/vector.rbs +13 -0
  187. data/sig/turbopuffer/models/vector_encoding.rbs +14 -0
  188. data/sig/turbopuffer/models/write_billing.rbs +27 -0
  189. data/sig/turbopuffer/models.rbs +61 -0
  190. data/sig/turbopuffer/namespace.rbs +5 -0
  191. data/sig/turbopuffer/request_options.rbs +36 -0
  192. data/sig/turbopuffer/resources/namespaces.rbs +81 -0
  193. data/sig/turbopuffer/version.rbs +3 -0
  194. metadata +251 -0
@@ -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,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,68 @@
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
+ remove_stopwords: bool,
10
+ stemming: bool,
11
+ tokenizer: Turbopuffer::Models::tokenizer
12
+ }
13
+
14
+ class FullTextSearchConfig < Turbopuffer::Internal::Type::BaseModel
15
+ attr_reader b: Float?
16
+
17
+ def b=: (Float) -> Float
18
+
19
+ attr_reader case_sensitive: bool?
20
+
21
+ def case_sensitive=: (bool) -> bool
22
+
23
+ attr_reader k1: Float?
24
+
25
+ def k1=: (Float) -> Float
26
+
27
+ attr_reader language: Turbopuffer::Models::language?
28
+
29
+ def language=: (
30
+ Turbopuffer::Models::language
31
+ ) -> Turbopuffer::Models::language
32
+
33
+ attr_reader remove_stopwords: bool?
34
+
35
+ def remove_stopwords=: (bool) -> bool
36
+
37
+ attr_reader stemming: bool?
38
+
39
+ def stemming=: (bool) -> bool
40
+
41
+ attr_reader tokenizer: Turbopuffer::Models::tokenizer?
42
+
43
+ def tokenizer=: (
44
+ Turbopuffer::Models::tokenizer
45
+ ) -> Turbopuffer::Models::tokenizer
46
+
47
+ def initialize: (
48
+ ?b: Float,
49
+ ?case_sensitive: bool,
50
+ ?k1: Float,
51
+ ?language: Turbopuffer::Models::language,
52
+ ?remove_stopwords: bool,
53
+ ?stemming: bool,
54
+ ?tokenizer: Turbopuffer::Models::tokenizer
55
+ ) -> void
56
+
57
+ def to_hash: -> {
58
+ b: Float,
59
+ case_sensitive: bool,
60
+ :k1 => Float,
61
+ language: Turbopuffer::Models::language,
62
+ remove_stopwords: bool,
63
+ stemming: bool,
64
+ tokenizer: Turbopuffer::Models::tokenizer
65
+ }
66
+ end
67
+ end
68
+ 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,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,17 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_hint_cache_warm_response = { status: :OK, message: String }
4
+
5
+ class NamespaceHintCacheWarmResponse < Turbopuffer::Internal::Type::BaseModel
6
+ attr_accessor status: :OK
7
+
8
+ attr_reader message: String?
9
+
10
+ def message=: (String) -> String
11
+
12
+ def initialize: (?message: String, ?status: :OK) -> void
13
+
14
+ def to_hash: -> { status: :OK, message: String }
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,30 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_metadata =
4
+ {
5
+ approx_logical_bytes: Integer,
6
+ created_at: Time,
7
+ schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
8
+ }
9
+
10
+ class NamespaceMetadata < Turbopuffer::Internal::Type::BaseModel
11
+ attr_accessor approx_logical_bytes: Integer
12
+
13
+ attr_accessor created_at: Time
14
+
15
+ attr_accessor schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
16
+
17
+ def initialize: (
18
+ approx_logical_bytes: Integer,
19
+ created_at: Time,
20
+ schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ approx_logical_bytes: Integer,
25
+ created_at: Time,
26
+ schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig]
27
+ }
28
+ end
29
+ end
30
+ 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
@@ -0,0 +1,86 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_multi_query_params =
4
+ {
5
+ namespace: String,
6
+ queries: ::Array[Turbopuffer::Query],
7
+ consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency,
8
+ vector_encoding: Turbopuffer::Models::vector_encoding
9
+ }
10
+ & Turbopuffer::Internal::Type::request_parameters
11
+
12
+ class NamespaceMultiQueryParams < Turbopuffer::Internal::Type::BaseModel
13
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
14
+ include Turbopuffer::Internal::Type::RequestParameters
15
+
16
+ attr_reader namespace: String?
17
+
18
+ def namespace=: (String) -> String
19
+
20
+ attr_accessor queries: ::Array[Turbopuffer::Query]
21
+
22
+ attr_reader consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency?
23
+
24
+ def consistency=: (
25
+ Turbopuffer::NamespaceMultiQueryParams::Consistency
26
+ ) -> Turbopuffer::NamespaceMultiQueryParams::Consistency
27
+
28
+ attr_reader vector_encoding: Turbopuffer::Models::vector_encoding?
29
+
30
+ def vector_encoding=: (
31
+ Turbopuffer::Models::vector_encoding
32
+ ) -> Turbopuffer::Models::vector_encoding
33
+
34
+ def initialize: (
35
+ queries: ::Array[Turbopuffer::Query],
36
+ ?namespace: String,
37
+ ?consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency,
38
+ ?vector_encoding: Turbopuffer::Models::vector_encoding,
39
+ ?request_options: Turbopuffer::request_opts
40
+ ) -> void
41
+
42
+ def to_hash: -> {
43
+ namespace: String,
44
+ queries: ::Array[Turbopuffer::Query],
45
+ consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency,
46
+ vector_encoding: Turbopuffer::Models::vector_encoding,
47
+ request_options: Turbopuffer::RequestOptions
48
+ }
49
+
50
+ type consistency =
51
+ {
52
+ level: Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level
53
+ }
54
+
55
+ class Consistency < Turbopuffer::Internal::Type::BaseModel
56
+ attr_reader level: Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level?
57
+
58
+ def level=: (
59
+ Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level
60
+ ) -> Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level
61
+
62
+ def initialize: (
63
+ ?level: Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ level: Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level
68
+ }
69
+
70
+ type level = :strong | :eventual
71
+
72
+ module Level
73
+ extend Turbopuffer::Internal::Type::Enum
74
+
75
+ # Strong consistency. Requires a round-trip to object storage to fetch the latest writes.
76
+ STRONG: :strong
77
+
78
+ # Eventual consistency. Does not require a round-trip to object storage, but may not see the latest writes.
79
+ EVENTUAL: :eventual
80
+
81
+ def self?.values: -> ::Array[Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,53 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_multi_query_response =
4
+ {
5
+ billing: Turbopuffer::QueryBilling,
6
+ performance: Turbopuffer::QueryPerformance,
7
+ results: ::Array[Turbopuffer::Models::NamespaceMultiQueryResponse::Result]
8
+ }
9
+
10
+ class NamespaceMultiQueryResponse < Turbopuffer::Internal::Type::BaseModel
11
+ attr_accessor billing: Turbopuffer::QueryBilling
12
+
13
+ attr_accessor performance: Turbopuffer::QueryPerformance
14
+
15
+ attr_accessor results: ::Array[Turbopuffer::Models::NamespaceMultiQueryResponse::Result]
16
+
17
+ def initialize: (
18
+ billing: Turbopuffer::QueryBilling,
19
+ performance: Turbopuffer::QueryPerformance,
20
+ results: ::Array[Turbopuffer::Models::NamespaceMultiQueryResponse::Result]
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ billing: Turbopuffer::QueryBilling,
25
+ performance: Turbopuffer::QueryPerformance,
26
+ results: ::Array[Turbopuffer::Models::NamespaceMultiQueryResponse::Result]
27
+ }
28
+
29
+ type result =
30
+ { aggregations: ::Hash[Symbol, top], rows: ::Array[Turbopuffer::Row] }
31
+
32
+ class Result < Turbopuffer::Internal::Type::BaseModel
33
+ attr_reader aggregations: ::Hash[Symbol, top]?
34
+
35
+ def aggregations=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
36
+
37
+ attr_reader rows: ::Array[Turbopuffer::Row]?
38
+
39
+ def rows=: (::Array[Turbopuffer::Row]) -> ::Array[Turbopuffer::Row]
40
+
41
+ def initialize: (
42
+ ?aggregations: ::Hash[Symbol, top],
43
+ ?rows: ::Array[Turbopuffer::Row]
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ aggregations: ::Hash[Symbol, top],
48
+ rows: ::Array[Turbopuffer::Row]
49
+ }
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,125 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_query_params =
4
+ {
5
+ namespace: String,
6
+ aggregate_by: ::Hash[Symbol, top],
7
+ consistency: Turbopuffer::NamespaceQueryParams::Consistency,
8
+ distance_metric: Turbopuffer::Models::distance_metric,
9
+ filters: top,
10
+ include_attributes: Turbopuffer::Models::include_attributes,
11
+ rank_by: top,
12
+ top_k: Integer,
13
+ vector_encoding: Turbopuffer::Models::vector_encoding
14
+ }
15
+ & Turbopuffer::Internal::Type::request_parameters
16
+
17
+ class NamespaceQueryParams < Turbopuffer::Internal::Type::BaseModel
18
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
19
+ include Turbopuffer::Internal::Type::RequestParameters
20
+
21
+ attr_reader namespace: String?
22
+
23
+ def namespace=: (String) -> String
24
+
25
+ attr_reader aggregate_by: ::Hash[Symbol, top]?
26
+
27
+ def aggregate_by=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
28
+
29
+ attr_reader consistency: Turbopuffer::NamespaceQueryParams::Consistency?
30
+
31
+ def consistency=: (
32
+ Turbopuffer::NamespaceQueryParams::Consistency
33
+ ) -> Turbopuffer::NamespaceQueryParams::Consistency
34
+
35
+ attr_reader distance_metric: Turbopuffer::Models::distance_metric?
36
+
37
+ def distance_metric=: (
38
+ Turbopuffer::Models::distance_metric
39
+ ) -> Turbopuffer::Models::distance_metric
40
+
41
+ attr_reader filters: top?
42
+
43
+ def filters=: (top) -> top
44
+
45
+ attr_reader include_attributes: Turbopuffer::Models::include_attributes?
46
+
47
+ def include_attributes=: (
48
+ Turbopuffer::Models::include_attributes
49
+ ) -> Turbopuffer::Models::include_attributes
50
+
51
+ attr_reader rank_by: top?
52
+
53
+ def rank_by=: (top) -> top
54
+
55
+ attr_reader top_k: Integer?
56
+
57
+ def top_k=: (Integer) -> Integer
58
+
59
+ attr_reader vector_encoding: Turbopuffer::Models::vector_encoding?
60
+
61
+ def vector_encoding=: (
62
+ Turbopuffer::Models::vector_encoding
63
+ ) -> Turbopuffer::Models::vector_encoding
64
+
65
+ def initialize: (
66
+ ?namespace: String,
67
+ ?aggregate_by: ::Hash[Symbol, top],
68
+ ?consistency: Turbopuffer::NamespaceQueryParams::Consistency,
69
+ ?distance_metric: Turbopuffer::Models::distance_metric,
70
+ ?filters: top,
71
+ ?include_attributes: Turbopuffer::Models::include_attributes,
72
+ ?rank_by: top,
73
+ ?top_k: Integer,
74
+ ?vector_encoding: Turbopuffer::Models::vector_encoding,
75
+ ?request_options: Turbopuffer::request_opts
76
+ ) -> void
77
+
78
+ def to_hash: -> {
79
+ namespace: String,
80
+ aggregate_by: ::Hash[Symbol, top],
81
+ consistency: Turbopuffer::NamespaceQueryParams::Consistency,
82
+ distance_metric: Turbopuffer::Models::distance_metric,
83
+ filters: top,
84
+ include_attributes: Turbopuffer::Models::include_attributes,
85
+ rank_by: top,
86
+ top_k: Integer,
87
+ vector_encoding: Turbopuffer::Models::vector_encoding,
88
+ request_options: Turbopuffer::RequestOptions
89
+ }
90
+
91
+ type consistency =
92
+ { level: Turbopuffer::Models::NamespaceQueryParams::Consistency::level }
93
+
94
+ class Consistency < Turbopuffer::Internal::Type::BaseModel
95
+ attr_reader level: Turbopuffer::Models::NamespaceQueryParams::Consistency::level?
96
+
97
+ def level=: (
98
+ Turbopuffer::Models::NamespaceQueryParams::Consistency::level
99
+ ) -> Turbopuffer::Models::NamespaceQueryParams::Consistency::level
100
+
101
+ def initialize: (
102
+ ?level: Turbopuffer::Models::NamespaceQueryParams::Consistency::level
103
+ ) -> void
104
+
105
+ def to_hash: -> {
106
+ level: Turbopuffer::Models::NamespaceQueryParams::Consistency::level
107
+ }
108
+
109
+ type level = :strong | :eventual
110
+
111
+ module Level
112
+ extend Turbopuffer::Internal::Type::Enum
113
+
114
+ # Strong consistency. Requires a round-trip to object storage to fetch the latest writes.
115
+ STRONG: :strong
116
+
117
+ # Eventual consistency. Does not require a round-trip to object storage, but may not see the latest writes.
118
+ EVENTUAL: :eventual
119
+
120
+ def self?.values: -> ::Array[Turbopuffer::Models::NamespaceQueryParams::Consistency::level]
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end