turbopuffer 0.1.0 → 1.2.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 (207) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +205 -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/client_namespaces_params.rb +38 -0
  30. data/lib/turbopuffer/models/columns.rb +64 -0
  31. data/lib/turbopuffer/models/distance_metric.rb +19 -0
  32. data/lib/turbopuffer/models/full_text_search.rb +20 -0
  33. data/lib/turbopuffer/models/full_text_search_config.rb +83 -0
  34. data/lib/turbopuffer/models/id.rb +19 -0
  35. data/lib/turbopuffer/models/include_attributes.rb +22 -0
  36. data/lib/turbopuffer/models/language.rb +32 -0
  37. data/lib/turbopuffer/models/namespace_delete_all_params.rb +20 -0
  38. data/lib/turbopuffer/models/namespace_delete_all_response.rb +19 -0
  39. data/lib/turbopuffer/models/namespace_explain_query_params.rb +137 -0
  40. data/lib/turbopuffer/models/namespace_explain_query_response.rb +19 -0
  41. data/lib/turbopuffer/models/namespace_hint_cache_warm_params.rb +20 -0
  42. data/lib/turbopuffer/models/namespace_hint_cache_warm_response.rb +26 -0
  43. data/lib/turbopuffer/models/namespace_metadata.rb +43 -0
  44. data/lib/turbopuffer/models/namespace_metadata_params.rb +20 -0
  45. data/lib/turbopuffer/models/namespace_multi_query_params.rb +73 -0
  46. data/lib/turbopuffer/models/namespace_multi_query_response.rb +58 -0
  47. data/lib/turbopuffer/models/namespace_query_params.rb +137 -0
  48. data/lib/turbopuffer/models/namespace_query_response.rb +49 -0
  49. data/lib/turbopuffer/models/namespace_recall_params.rb +66 -0
  50. data/lib/turbopuffer/models/namespace_recall_response.rb +68 -0
  51. data/lib/turbopuffer/models/namespace_schema_params.rb +20 -0
  52. data/lib/turbopuffer/models/namespace_schema_response.rb +8 -0
  53. data/lib/turbopuffer/models/namespace_summary.rb +19 -0
  54. data/lib/turbopuffer/models/namespace_update_schema_params.rb +29 -0
  55. data/lib/turbopuffer/models/namespace_update_schema_response.rb +9 -0
  56. data/lib/turbopuffer/models/namespace_write_params.rb +158 -0
  57. data/lib/turbopuffer/models/namespace_write_response.rb +67 -0
  58. data/lib/turbopuffer/models/query.rb +81 -0
  59. data/lib/turbopuffer/models/query_billing.rb +26 -0
  60. data/lib/turbopuffer/models/query_performance.rb +63 -0
  61. data/lib/turbopuffer/models/row.rb +46 -0
  62. data/lib/turbopuffer/models/tokenizer.rb +19 -0
  63. data/lib/turbopuffer/models/vector.rb +22 -0
  64. data/lib/turbopuffer/models/vector_encoding.rb +16 -0
  65. data/lib/turbopuffer/models/write_billing.rb +26 -0
  66. data/lib/turbopuffer/models.rb +106 -0
  67. data/lib/turbopuffer/namespace.rb +14 -50
  68. data/lib/turbopuffer/request_options.rb +77 -0
  69. data/lib/turbopuffer/resources/namespaces.rb +366 -0
  70. data/lib/turbopuffer/version.rb +1 -1
  71. data/lib/turbopuffer.rb +92 -4
  72. data/manifest.yaml +15 -0
  73. data/rbi/turbopuffer/client.rbi +91 -0
  74. data/rbi/turbopuffer/errors.rbi +205 -0
  75. data/rbi/turbopuffer/file_part.rbi +37 -0
  76. data/rbi/turbopuffer/internal/namespace_page.rbi +22 -0
  77. data/rbi/turbopuffer/internal/transport/base_client.rbi +297 -0
  78. data/rbi/turbopuffer/internal/transport/pooled_net_requester.rbi +80 -0
  79. data/rbi/turbopuffer/internal/type/array_of.rbi +104 -0
  80. data/rbi/turbopuffer/internal/type/base_model.rbi +304 -0
  81. data/rbi/turbopuffer/internal/type/base_page.rbi +43 -0
  82. data/rbi/turbopuffer/internal/type/boolean.rbi +58 -0
  83. data/rbi/turbopuffer/internal/type/converter.rbi +216 -0
  84. data/rbi/turbopuffer/internal/type/enum.rbi +82 -0
  85. data/rbi/turbopuffer/internal/type/file_input.rbi +59 -0
  86. data/rbi/turbopuffer/internal/type/hash_of.rbi +104 -0
  87. data/rbi/turbopuffer/internal/type/request_parameters.rbi +31 -0
  88. data/rbi/turbopuffer/internal/type/union.rbi +128 -0
  89. data/rbi/turbopuffer/internal/type/unknown.rbi +58 -0
  90. data/rbi/turbopuffer/internal/util.rbi +487 -0
  91. data/rbi/turbopuffer/internal.rbi +18 -0
  92. data/rbi/turbopuffer/models/aggregation_group.rbi +13 -0
  93. data/rbi/turbopuffer/models/attribute_schema.rbi +17 -0
  94. data/rbi/turbopuffer/models/attribute_schema_config.rbi +103 -0
  95. data/rbi/turbopuffer/models/attribute_type.rbi +7 -0
  96. data/rbi/turbopuffer/models/client_namespaces_params.rbi +71 -0
  97. data/rbi/turbopuffer/models/columns.rbi +82 -0
  98. data/rbi/turbopuffer/models/distance_metric.rbi +27 -0
  99. data/rbi/turbopuffer/models/full_text_search.rbi +19 -0
  100. data/rbi/turbopuffer/models/full_text_search_config.rbi +133 -0
  101. data/rbi/turbopuffer/models/id.rbi +16 -0
  102. data/rbi/turbopuffer/models/include_attributes.rbi +24 -0
  103. data/rbi/turbopuffer/models/language.rbi +36 -0
  104. data/rbi/turbopuffer/models/namespace_delete_all_params.rbi +41 -0
  105. data/rbi/turbopuffer/models/namespace_delete_all_response.rbi +31 -0
  106. data/rbi/turbopuffer/models/namespace_explain_query_params.rbi +273 -0
  107. data/rbi/turbopuffer/models/namespace_explain_query_response.rbi +34 -0
  108. data/rbi/turbopuffer/models/namespace_hint_cache_warm_params.rbi +41 -0
  109. data/rbi/turbopuffer/models/namespace_hint_cache_warm_response.rbi +38 -0
  110. data/rbi/turbopuffer/models/namespace_metadata.rbi +62 -0
  111. data/rbi/turbopuffer/models/namespace_metadata_params.rbi +41 -0
  112. data/rbi/turbopuffer/models/namespace_multi_query_params.rbi +175 -0
  113. data/rbi/turbopuffer/models/namespace_multi_query_response.rbi +121 -0
  114. data/rbi/turbopuffer/models/namespace_query_params.rbi +267 -0
  115. data/rbi/turbopuffer/models/namespace_query_response.rbi +84 -0
  116. data/rbi/turbopuffer/models/namespace_recall_params.rbi +106 -0
  117. data/rbi/turbopuffer/models/namespace_recall_response.rbi +134 -0
  118. data/rbi/turbopuffer/models/namespace_schema_params.rbi +41 -0
  119. data/rbi/turbopuffer/models/namespace_schema_response.rbi +11 -0
  120. data/rbi/turbopuffer/models/namespace_summary.rbi +28 -0
  121. data/rbi/turbopuffer/models/namespace_update_schema_params.rbi +80 -0
  122. data/rbi/turbopuffer/models/namespace_update_schema_response.rbi +11 -0
  123. data/rbi/turbopuffer/models/namespace_write_params.rbi +290 -0
  124. data/rbi/turbopuffer/models/namespace_write_response.rbi +101 -0
  125. data/rbi/turbopuffer/models/query.rbi +132 -0
  126. data/rbi/turbopuffer/models/query_billing.rbi +46 -0
  127. data/rbi/turbopuffer/models/query_performance.rbi +82 -0
  128. data/rbi/turbopuffer/models/row.rbi +47 -0
  129. data/rbi/turbopuffer/models/tokenizer.rbi +24 -0
  130. data/rbi/turbopuffer/models/vector.rbi +22 -0
  131. data/rbi/turbopuffer/models/vector_encoding.rbi +22 -0
  132. data/rbi/turbopuffer/models/write_billing.rbi +49 -0
  133. data/rbi/turbopuffer/models.rbi +72 -0
  134. data/rbi/turbopuffer/namespace.rbi +8 -0
  135. data/rbi/turbopuffer/request_options.rbi +59 -0
  136. data/rbi/turbopuffer/resources/namespaces.rbi +304 -0
  137. data/rbi/turbopuffer/version.rbi +5 -0
  138. data/sig/turbopuffer/client.rbs +41 -0
  139. data/sig/turbopuffer/errors.rbs +117 -0
  140. data/sig/turbopuffer/file_part.rbs +21 -0
  141. data/sig/turbopuffer/internal/namespace_page.rbs +13 -0
  142. data/sig/turbopuffer/internal/transport/base_client.rbs +131 -0
  143. data/sig/turbopuffer/internal/transport/pooled_net_requester.rbs +45 -0
  144. data/sig/turbopuffer/internal/type/array_of.rbs +48 -0
  145. data/sig/turbopuffer/internal/type/base_model.rbs +102 -0
  146. data/sig/turbopuffer/internal/type/base_page.rbs +24 -0
  147. data/sig/turbopuffer/internal/type/boolean.rbs +26 -0
  148. data/sig/turbopuffer/internal/type/converter.rbs +79 -0
  149. data/sig/turbopuffer/internal/type/enum.rbs +32 -0
  150. data/sig/turbopuffer/internal/type/file_input.rbs +25 -0
  151. data/sig/turbopuffer/internal/type/hash_of.rbs +48 -0
  152. data/sig/turbopuffer/internal/type/request_parameters.rbs +19 -0
  153. data/sig/turbopuffer/internal/type/union.rbs +52 -0
  154. data/sig/turbopuffer/internal/type/unknown.rbs +26 -0
  155. data/sig/turbopuffer/internal/util.rbs +185 -0
  156. data/sig/turbopuffer/internal.rbs +9 -0
  157. data/sig/turbopuffer/models/aggregation_group.rbs +7 -0
  158. data/sig/turbopuffer/models/attribute_schema.rbs +11 -0
  159. data/sig/turbopuffer/models/attribute_schema_config.rbs +52 -0
  160. data/sig/turbopuffer/models/attribute_type.rbs +5 -0
  161. data/sig/turbopuffer/models/client_namespaces_params.rbs +38 -0
  162. data/sig/turbopuffer/models/columns.rbs +42 -0
  163. data/sig/turbopuffer/models/distance_metric.rbs +17 -0
  164. data/sig/turbopuffer/models/full_text_search.rbs +11 -0
  165. data/sig/turbopuffer/models/full_text_search_config.rbs +75 -0
  166. data/sig/turbopuffer/models/id.rbs +11 -0
  167. data/sig/turbopuffer/models/include_attributes.rbs +13 -0
  168. data/sig/turbopuffer/models/language.rbs +48 -0
  169. data/sig/turbopuffer/models/namespace_delete_all_params.rbs +25 -0
  170. data/sig/turbopuffer/models/namespace_delete_all_response.rbs +13 -0
  171. data/sig/turbopuffer/models/namespace_explain_query_params.rbs +141 -0
  172. data/sig/turbopuffer/models/namespace_explain_query_response.rbs +15 -0
  173. data/sig/turbopuffer/models/namespace_hint_cache_warm_params.rbs +25 -0
  174. data/sig/turbopuffer/models/namespace_hint_cache_warm_response.rbs +18 -0
  175. data/sig/turbopuffer/models/namespace_metadata.rbs +35 -0
  176. data/sig/turbopuffer/models/namespace_metadata_params.rbs +25 -0
  177. data/sig/turbopuffer/models/namespace_multi_query_params.rbs +86 -0
  178. data/sig/turbopuffer/models/namespace_multi_query_response.rbs +65 -0
  179. data/sig/turbopuffer/models/namespace_query_params.rbs +139 -0
  180. data/sig/turbopuffer/models/namespace_query_response.rbs +48 -0
  181. data/sig/turbopuffer/models/namespace_recall_params.rbs +63 -0
  182. data/sig/turbopuffer/models/namespace_recall_response.rbs +61 -0
  183. data/sig/turbopuffer/models/namespace_schema_params.rbs +25 -0
  184. data/sig/turbopuffer/models/namespace_schema_response.rbs +8 -0
  185. data/sig/turbopuffer/models/namespace_summary.rbs +13 -0
  186. data/sig/turbopuffer/models/namespace_update_schema_params.rbs +37 -0
  187. data/sig/turbopuffer/models/namespace_update_schema_response.rbs +8 -0
  188. data/sig/turbopuffer/models/namespace_write_params.rbs +156 -0
  189. data/sig/turbopuffer/models/namespace_write_response.rbs +56 -0
  190. data/sig/turbopuffer/models/query.rbs +75 -0
  191. data/sig/turbopuffer/models/query_billing.rbs +25 -0
  192. data/sig/turbopuffer/models/query_performance.rbs +45 -0
  193. data/sig/turbopuffer/models/row.rbs +24 -0
  194. data/sig/turbopuffer/models/tokenizer.rbs +16 -0
  195. data/sig/turbopuffer/models/vector.rbs +13 -0
  196. data/sig/turbopuffer/models/vector_encoding.rbs +14 -0
  197. data/sig/turbopuffer/models/write_billing.rbs +27 -0
  198. data/sig/turbopuffer/models.rbs +65 -0
  199. data/sig/turbopuffer/namespace.rbs +5 -0
  200. data/sig/turbopuffer/request_options.rbs +36 -0
  201. data/sig/turbopuffer/resources/namespaces.rbs +99 -0
  202. data/sig/turbopuffer/version.rbs +3 -0
  203. metadata +218 -29
  204. data/.standard.yml +0 -3
  205. data/LICENSE.txt +0 -21
  206. data/Rakefile +0 -10
  207. data/sig/turbopuffer.rbs +0 -4
@@ -0,0 +1,25 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ module Type
4
+ class FileInput
5
+ extend Turbopuffer::Internal::Type::Converter
6
+
7
+ def self.===: (top other) -> bool
8
+
9
+ def self.==: (top other) -> bool
10
+
11
+ def self.coerce: (
12
+ StringIO | String | top value,
13
+ state: Turbopuffer::Internal::Type::Converter::coerce_state
14
+ ) -> (StringIO | top)
15
+
16
+ def self.dump: (
17
+ Pathname | StringIO | IO | String | top value,
18
+ state: Turbopuffer::Internal::Type::Converter::dump_state
19
+ ) -> (Pathname | StringIO | IO | String | top)
20
+
21
+ def self.to_sorbet_type: -> top
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,48 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ module Type
4
+ class HashOf[Elem]
5
+ include Turbopuffer::Internal::Type::Converter
6
+ include Turbopuffer::Internal::Util::SorbetRuntimeSupport
7
+
8
+ def self.[]: (
9
+ ::Hash[Symbol, top]
10
+ | ^-> Turbopuffer::Internal::Type::Converter::input
11
+ | Turbopuffer::Internal::Type::Converter::input type_info,
12
+ ?::Hash[Symbol, top] spec
13
+ ) -> instance
14
+
15
+ def ===: (top other) -> bool
16
+
17
+ def ==: (top other) -> bool
18
+
19
+ def hash: -> Integer
20
+
21
+ def coerce: (
22
+ ::Hash[top, top] | top value,
23
+ state: Turbopuffer::Internal::Type::Converter::coerce_state
24
+ ) -> (::Hash[Symbol, top] | top)
25
+
26
+ def dump: (
27
+ ::Hash[top, top] | top value,
28
+ state: Turbopuffer::Internal::Type::Converter::dump_state
29
+ ) -> (::Hash[Symbol, top] | top)
30
+
31
+ def to_sorbet_type: -> top
32
+
33
+ def item_type: -> Elem
34
+
35
+ def nilable?: -> bool
36
+
37
+ def initialize: (
38
+ ::Hash[Symbol, top]
39
+ | ^-> Turbopuffer::Internal::Type::Converter::input
40
+ | Turbopuffer::Internal::Type::Converter::input type_info,
41
+ ?::Hash[Symbol, top] spec
42
+ ) -> void
43
+
44
+ def inspect: (?depth: Integer) -> String
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,19 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ module Type
4
+ type request_parameters = { request_options: Turbopuffer::request_opts }
5
+
6
+ module RequestParameters
7
+ attr_reader request_options: Turbopuffer::request_opts
8
+
9
+ def request_options=: (
10
+ Turbopuffer::request_opts
11
+ ) -> Turbopuffer::request_opts
12
+
13
+ module Converter
14
+ def dump_request: (top params) -> [top, ::Hash[Symbol, top]]
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,52 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ module Type
4
+ module Union
5
+ include Turbopuffer::Internal::Type::Converter
6
+ include Turbopuffer::Internal::Util::SorbetRuntimeSupport
7
+
8
+ private def self.known_variants: -> ::Array[[Symbol?, (^-> Turbopuffer::Internal::Type::Converter::input), ::Hash[Symbol, top]]]
9
+
10
+ def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]]
11
+
12
+ def self.variants: -> ::Array[top]
13
+
14
+ private def self.discriminator: (Symbol property) -> void
15
+
16
+ private def self.variant: (
17
+ Symbol
18
+ | ::Hash[Symbol, top]
19
+ | ^-> Turbopuffer::Internal::Type::Converter::input
20
+ | Turbopuffer::Internal::Type::Converter::input key,
21
+ ?::Hash[Symbol, top]
22
+ | ^-> Turbopuffer::Internal::Type::Converter::input
23
+ | Turbopuffer::Internal::Type::Converter::input spec
24
+ ) -> void
25
+
26
+ private def self.resolve_variant: (
27
+ top value
28
+ ) -> Turbopuffer::Internal::Type::Converter::input?
29
+
30
+ def ===: (top other) -> bool
31
+
32
+ def ==: (top other) -> bool
33
+
34
+ def hash: -> Integer
35
+
36
+ def coerce: (
37
+ top value,
38
+ state: Turbopuffer::Internal::Type::Converter::coerce_state
39
+ ) -> top
40
+
41
+ def dump: (
42
+ top value,
43
+ state: Turbopuffer::Internal::Type::Converter::dump_state
44
+ ) -> top
45
+
46
+ def to_sorbet_type: -> top
47
+
48
+ def inspect: (?depth: Integer) -> String
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,26 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ module Type
4
+ class Unknown
5
+ extend Turbopuffer::Internal::Type::Converter
6
+ extend Turbopuffer::Internal::Util::SorbetRuntimeSupport
7
+
8
+ def self.===: (top other) -> bool
9
+
10
+ def self.==: (top other) -> bool
11
+
12
+ def self.coerce: (
13
+ top value,
14
+ state: Turbopuffer::Internal::Type::Converter::coerce_state
15
+ ) -> top
16
+
17
+ def self.dump: (
18
+ top value,
19
+ state: Turbopuffer::Internal::Type::Converter::dump_state
20
+ ) -> top
21
+
22
+ def self.to_sorbet_type: -> top
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,185 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ module Util
4
+ extend Turbopuffer::Internal::Util::SorbetRuntimeSupport
5
+
6
+ def self?.monotonic_secs: -> Float
7
+
8
+ def self?.walk_namespaces: (
9
+ Module | Class ns
10
+ ) -> Enumerable[(Module | Class)]
11
+
12
+ def self?.arch: -> String
13
+
14
+ def self?.os: -> String
15
+
16
+ def self?.primitive?: (top input) -> bool
17
+
18
+ def self?.coerce_boolean: (String | bool input) -> (bool | top)
19
+
20
+ def self?.coerce_boolean!: (String | bool input) -> bool?
21
+
22
+ def self?.coerce_integer: (String | Integer input) -> (Integer | top)
23
+
24
+ def self?.coerce_float: (String | Integer | Float input) -> (Float | top)
25
+
26
+ def self?.coerce_hash: (top input) -> (::Hash[top, top] | top)
27
+
28
+ def self?.coerce_hash!: (top input) -> ::Hash[top, top]?
29
+
30
+ def self?.deep_merge_lr: (top lhs, top rhs, ?concat: bool) -> top
31
+
32
+ def self?.deep_merge: (
33
+ *::Array[top] values,
34
+ ?sentinel: top?,
35
+ ?concat: bool
36
+ ) -> top
37
+
38
+ def self?.dig: (
39
+ ::Hash[Symbol, top] | ::Array[top] | top data,
40
+ (Symbol
41
+ | Integer
42
+ | ::Array[(Symbol | Integer)]
43
+ | (^(top arg0) -> top))? pick
44
+ ) {
45
+ -> top?
46
+ } -> top?
47
+
48
+ def self?.uri_origin: (URI::Generic uri) -> String
49
+
50
+ def self?.interpolate_path: (String | ::Array[String] path) -> String
51
+
52
+ def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
53
+
54
+ def self?.encode_query: (
55
+ ::Hash[String, (::Array[String] | String)?]? query
56
+ ) -> String?
57
+
58
+ type parsed_uri =
59
+ {
60
+ scheme: String?,
61
+ host: String?,
62
+ port: Integer?,
63
+ path: String?,
64
+ query: ::Hash[String, ::Array[String]]
65
+ }
66
+
67
+ def self?.parse_uri: (
68
+ URI::Generic | String url
69
+ ) -> Turbopuffer::Internal::Util::parsed_uri
70
+
71
+ def self?.unparse_uri: (
72
+ Turbopuffer::Internal::Util::parsed_uri parsed
73
+ ) -> URI::Generic
74
+
75
+ def self?.join_parsed_uri: (
76
+ Turbopuffer::Internal::Util::parsed_uri lhs,
77
+ Turbopuffer::Internal::Util::parsed_uri rhs
78
+ ) -> URI::Generic
79
+
80
+ def self?.normalized_headers: (
81
+ *::Hash[String, (String
82
+ | Integer
83
+ | ::Array[(String | Integer)?])?] headers
84
+ ) -> ::Hash[String, String]
85
+
86
+ class ReadIOAdapter
87
+ def close?: -> bool?
88
+
89
+ def close: -> void
90
+
91
+ private def read_enum: (Integer? max_len) -> String
92
+
93
+ def read: (?Integer? max_len, ?String? out_string) -> String?
94
+
95
+ def initialize: (
96
+ String | Pathname | StringIO | Enumerable[String] src
97
+ ) {
98
+ (String arg0) -> void
99
+ } -> void
100
+ end
101
+
102
+ def self?.writable_enum: {
103
+ (Enumerator::Yielder y) -> void
104
+ } -> Enumerable[String]
105
+
106
+ JSON_CONTENT: Regexp
107
+ JSONL_CONTENT: Regexp
108
+
109
+ def self?.write_multipart_content: (
110
+ Enumerator::Yielder y,
111
+ val: top,
112
+ closing: ::Array[^-> void],
113
+ ?content_type: String?
114
+ ) -> void
115
+
116
+ def self?.write_multipart_chunk: (
117
+ Enumerator::Yielder y,
118
+ boundary: String,
119
+ key: Symbol | String,
120
+ val: top,
121
+ closing: ::Array[^-> void]
122
+ ) -> void
123
+
124
+ def self?.encode_multipart_streaming: (
125
+ top body
126
+ ) -> [String, Enumerable[String]]
127
+
128
+ def self?.encode_content: (
129
+ ::Hash[String, String] headers,
130
+ top body
131
+ ) -> top
132
+
133
+ def self?.force_charset!: (String content_type, text: String) -> void
134
+
135
+ def self?.decode_content: (
136
+ ::Hash[String, String] headers,
137
+ stream: Enumerable[String],
138
+ ?suppress_error: bool
139
+ ) -> top
140
+
141
+ def self?.fused_enum: (
142
+ Enumerable[top] enum,
143
+ ?external: bool
144
+ ) {
145
+ -> void
146
+ } -> Enumerable[top]
147
+
148
+ def self?.close_fused!: (Enumerable[top]? enum) -> void
149
+
150
+ def self?.chain_fused: (
151
+ Enumerable[top]? enum
152
+ ) {
153
+ (Enumerator::Yielder arg0) -> void
154
+ } -> Enumerable[top]
155
+
156
+ type server_sent_event =
157
+ { event: String?, data: String?, id: String?, retry: Integer? }
158
+
159
+ def self?.decode_lines: (Enumerable[String] enum) -> Enumerable[String]
160
+
161
+ def self?.decode_sse: (
162
+ Enumerable[String] lines
163
+ ) -> Enumerable[Turbopuffer::Internal::Util::server_sent_event]
164
+
165
+ module SorbetRuntimeSupport
166
+ class MissingSorbetRuntimeError < ::RuntimeError
167
+ end
168
+
169
+ private def sorbet_runtime_constants: -> ::Hash[Symbol, top]
170
+
171
+ def const_missing: (Symbol name) -> void
172
+
173
+ def sorbet_constant_defined?: (Symbol name) -> bool
174
+
175
+ def define_sorbet_constant!: (Symbol name) { -> top } -> void
176
+
177
+ def to_sorbet_type: -> top
178
+
179
+ def self.to_sorbet_type: (
180
+ Turbopuffer::Internal::Util::SorbetRuntimeSupport | top `type`
181
+ ) -> top
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,9 @@
1
+ module Turbopuffer
2
+ module Internal
3
+ extend Turbopuffer::Internal::Util::SorbetRuntimeSupport
4
+
5
+ type file_input = Pathname | StringIO | IO | String | Turbopuffer::FilePart
6
+
7
+ OMIT: Object
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type aggregation_group = ::Hash[Symbol, top]
4
+
5
+ AggregationGroup: Turbopuffer::Internal::Type::Converter
6
+ end
7
+ end
@@ -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,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,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