turbopuffer 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -10
  4. data/lib/turbopuffer/client.rb +2 -2
  5. data/lib/turbopuffer/internal/type/union.rb +17 -7
  6. data/lib/turbopuffer/models/attribute_schema_config.rb +14 -1
  7. data/lib/turbopuffer/models/copy_from_namespace_operation.rb +84 -0
  8. data/lib/turbopuffer/models/copy_from_namespace_operation_result.rb +37 -0
  9. data/lib/turbopuffer/models/highlight_config_params.rb +46 -0
  10. data/lib/turbopuffer/models/highlight_fragment_by.rb +25 -0
  11. data/lib/turbopuffer/models/highlight_offset_units.rb +17 -0
  12. data/lib/turbopuffer/models/namespace_explain_query_params.rb +20 -1
  13. data/lib/turbopuffer/models/namespace_metadata.rb +32 -2
  14. data/lib/turbopuffer/models/namespace_metadata_patch.rb +10 -1
  15. data/lib/turbopuffer/models/namespace_multi_query_params.rb +55 -2
  16. data/lib/turbopuffer/models/namespace_poll_copy_from_params.rb +26 -0
  17. data/lib/turbopuffer/models/namespace_query_params.rb +20 -1
  18. data/lib/turbopuffer/models/namespace_start_copy_from_params.rb +53 -0
  19. data/lib/turbopuffer/models/namespace_start_copy_from_response.rb +17 -0
  20. data/lib/turbopuffer/models/namespace_write_params.rb +12 -1
  21. data/lib/turbopuffer/models/operation_error.rb +46 -0
  22. data/lib/turbopuffer/models/rerank_limit.rb +18 -0
  23. data/lib/turbopuffer/models/rrf_params.rb +14 -1
  24. data/lib/turbopuffer/models/sharding_config.rb +21 -0
  25. data/lib/turbopuffer/models/write_result.rb +112 -0
  26. data/lib/turbopuffer/models.rb +22 -0
  27. data/lib/turbopuffer/resources/namespaces.rb +87 -5
  28. data/lib/turbopuffer/version.rb +1 -1
  29. data/lib/turbopuffer.rb +12 -0
  30. data/rbi/turbopuffer/client.rbi +2 -2
  31. data/rbi/turbopuffer/models/attribute_schema_config.rbi +20 -3
  32. data/rbi/turbopuffer/models/copy_from_namespace_operation.rbi +133 -0
  33. data/rbi/turbopuffer/models/copy_from_namespace_operation_result.rbi +85 -0
  34. data/rbi/turbopuffer/models/highlight_config_params.rbi +85 -0
  35. data/rbi/turbopuffer/models/highlight_fragment_by.rbi +36 -0
  36. data/rbi/turbopuffer/models/highlight_offset_units.rbi +27 -0
  37. data/rbi/turbopuffer/models/namespace_explain_query_params.rbi +28 -0
  38. data/rbi/turbopuffer/models/namespace_metadata.rbi +50 -4
  39. data/rbi/turbopuffer/models/namespace_metadata_patch.rbi +18 -3
  40. data/rbi/turbopuffer/models/namespace_multi_query_params.rbi +69 -0
  41. data/rbi/turbopuffer/models/namespace_poll_copy_from_params.rbi +49 -0
  42. data/rbi/turbopuffer/models/namespace_query_params.rbi +28 -0
  43. data/rbi/turbopuffer/models/namespace_start_copy_from_params.rbi +113 -0
  44. data/rbi/turbopuffer/models/namespace_start_copy_from_response.rbi +30 -0
  45. data/rbi/turbopuffer/models/namespace_write_params.rbi +17 -0
  46. data/rbi/turbopuffer/models/operation_error.rbi +77 -0
  47. data/rbi/turbopuffer/models/rerank_limit.rbi +28 -0
  48. data/rbi/turbopuffer/models/rrf_params.rbi +22 -3
  49. data/rbi/turbopuffer/models/sharding_config.rbi +31 -0
  50. data/rbi/turbopuffer/models/write_result.rbi +159 -0
  51. data/rbi/turbopuffer/models.rbi +24 -0
  52. data/rbi/turbopuffer/resources/namespaces.rbi +87 -0
  53. data/sig/turbopuffer/models/attribute_schema_config.rbs +12 -3
  54. data/sig/turbopuffer/models/copy_from_namespace_operation.rbs +65 -0
  55. data/sig/turbopuffer/models/copy_from_namespace_operation_result.rbs +33 -0
  56. data/sig/turbopuffer/models/highlight_config_params.rbs +47 -0
  57. data/sig/turbopuffer/models/highlight_fragment_by.rbs +23 -0
  58. data/sig/turbopuffer/models/highlight_offset_units.rbs +15 -0
  59. data/sig/turbopuffer/models/namespace_explain_query_params.rbs +14 -0
  60. data/sig/turbopuffer/models/namespace_metadata.rbs +29 -4
  61. data/sig/turbopuffer/models/namespace_metadata_patch.rbs +12 -3
  62. data/sig/turbopuffer/models/namespace_multi_query_params.rbs +38 -0
  63. data/sig/turbopuffer/models/namespace_poll_copy_from_params.rbs +30 -0
  64. data/sig/turbopuffer/models/namespace_query_params.rbs +14 -0
  65. data/sig/turbopuffer/models/namespace_start_copy_from_params.rbs +56 -0
  66. data/sig/turbopuffer/models/namespace_start_copy_from_response.rbs +13 -0
  67. data/sig/turbopuffer/models/namespace_write_params.rbs +9 -0
  68. data/sig/turbopuffer/models/operation_error.rbs +34 -0
  69. data/sig/turbopuffer/models/rerank_limit.rbs +13 -0
  70. data/sig/turbopuffer/models/rrf_params.rbs +10 -3
  71. data/sig/turbopuffer/models/sharding_config.rbs +13 -0
  72. data/sig/turbopuffer/models/write_result.rbs +99 -0
  73. data/sig/turbopuffer/models.rbs +22 -0
  74. data/sig/turbopuffer/resources/namespaces.rbs +23 -0
  75. metadata +38 -2
@@ -4,6 +4,7 @@ module Turbopuffer
4
4
  {
5
5
  namespace: String,
6
6
  aggregate_by: ::Hash[Symbol, top],
7
+ compute_attributes: ::Hash[Symbol, top],
7
8
  consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency,
8
9
  distance_metric: Turbopuffer::Models::distance_metric,
9
10
  exclude_attributes: ::Array[String],
@@ -11,6 +12,7 @@ module Turbopuffer
11
12
  group_by: ::Array[top],
12
13
  include_attributes: Turbopuffer::Models::include_attributes,
13
14
  limit: Turbopuffer::Models::NamespaceExplainQueryParams::limit,
15
+ offset: Integer,
14
16
  rank_by: top,
15
17
  top_k: Integer,
16
18
  vector_encoding: Turbopuffer::Models::vector_encoding
@@ -29,6 +31,10 @@ module Turbopuffer
29
31
 
30
32
  def aggregate_by=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
31
33
 
34
+ attr_reader compute_attributes: ::Hash[Symbol, top]?
35
+
36
+ def compute_attributes=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
37
+
32
38
  attr_reader consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency?
33
39
 
34
40
  def consistency=: (
@@ -65,6 +71,10 @@ module Turbopuffer
65
71
  Turbopuffer::Models::NamespaceExplainQueryParams::limit
66
72
  ) -> Turbopuffer::Models::NamespaceExplainQueryParams::limit
67
73
 
74
+ attr_reader offset: Integer?
75
+
76
+ def offset=: (Integer) -> Integer
77
+
68
78
  attr_reader rank_by: top?
69
79
 
70
80
  def rank_by=: (top) -> top
@@ -82,6 +92,7 @@ module Turbopuffer
82
92
  def initialize: (
83
93
  ?namespace: String,
84
94
  ?aggregate_by: ::Hash[Symbol, top],
95
+ ?compute_attributes: ::Hash[Symbol, top],
85
96
  ?consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency,
86
97
  ?distance_metric: Turbopuffer::Models::distance_metric,
87
98
  ?exclude_attributes: ::Array[String],
@@ -89,6 +100,7 @@ module Turbopuffer
89
100
  ?group_by: ::Array[top],
90
101
  ?include_attributes: Turbopuffer::Models::include_attributes,
91
102
  ?limit: Turbopuffer::Models::NamespaceExplainQueryParams::limit,
103
+ ?offset: Integer,
92
104
  ?rank_by: top,
93
105
  ?top_k: Integer,
94
106
  ?vector_encoding: Turbopuffer::Models::vector_encoding,
@@ -98,6 +110,7 @@ module Turbopuffer
98
110
  def to_hash: -> {
99
111
  namespace: String,
100
112
  aggregate_by: ::Hash[Symbol, top],
113
+ compute_attributes: ::Hash[Symbol, top],
101
114
  consistency: Turbopuffer::NamespaceExplainQueryParams::Consistency,
102
115
  distance_metric: Turbopuffer::Models::distance_metric,
103
116
  exclude_attributes: ::Array[String],
@@ -105,6 +118,7 @@ module Turbopuffer
105
118
  group_by: ::Array[top],
106
119
  include_attributes: Turbopuffer::Models::include_attributes,
107
120
  limit: Turbopuffer::Models::NamespaceExplainQueryParams::limit,
121
+ offset: Integer,
108
122
  rank_by: top,
109
123
  top_k: Integer,
110
124
  vector_encoding: Turbopuffer::Models::vector_encoding,
@@ -9,7 +9,9 @@ module Turbopuffer
9
9
  index: Turbopuffer::Models::NamespaceMetadata::index,
10
10
  schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig],
11
11
  updated_at: Time,
12
- pinning: Turbopuffer::NamespaceMetadata::Pinning
12
+ pinning: Turbopuffer::NamespaceMetadata::Pinning,
13
+ read_only: bool,
14
+ sharding: Turbopuffer::ShardingConfig
13
15
  }
14
16
 
15
17
  class NamespaceMetadata < Turbopuffer::Internal::Type::BaseModel
@@ -33,6 +35,16 @@ module Turbopuffer
33
35
  Turbopuffer::NamespaceMetadata::Pinning
34
36
  ) -> Turbopuffer::NamespaceMetadata::Pinning
35
37
 
38
+ attr_reader read_only: bool?
39
+
40
+ def read_only=: (bool) -> bool
41
+
42
+ attr_reader sharding: Turbopuffer::ShardingConfig?
43
+
44
+ def sharding=: (
45
+ Turbopuffer::ShardingConfig
46
+ ) -> Turbopuffer::ShardingConfig
47
+
36
48
  def initialize: (
37
49
  approx_logical_bytes: Integer,
38
50
  approx_row_count: Integer,
@@ -41,7 +53,9 @@ module Turbopuffer
41
53
  index: Turbopuffer::Models::NamespaceMetadata::index,
42
54
  schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig],
43
55
  updated_at: Time,
44
- ?pinning: Turbopuffer::NamespaceMetadata::Pinning
56
+ ?pinning: Turbopuffer::NamespaceMetadata::Pinning,
57
+ ?read_only: bool,
58
+ ?sharding: Turbopuffer::ShardingConfig
45
59
  ) -> void
46
60
 
47
61
  def to_hash: -> {
@@ -52,7 +66,9 @@ module Turbopuffer
52
66
  index: Turbopuffer::Models::NamespaceMetadata::index,
53
67
  schema: ::Hash[Symbol, Turbopuffer::AttributeSchemaConfig],
54
68
  updated_at: Time,
55
- pinning: Turbopuffer::NamespaceMetadata::Pinning
69
+ pinning: Turbopuffer::NamespaceMetadata::Pinning,
70
+ read_only: bool,
71
+ sharding: Turbopuffer::ShardingConfig
56
72
  }
57
73
 
58
74
  type index =
@@ -105,23 +121,32 @@ module Turbopuffer
105
121
  }
106
122
 
107
123
  type status =
108
- { ready_replicas: Integer, updated_at: Time, utilization: Float }
124
+ {
125
+ ready_replicas: Integer,
126
+ replicas: Integer,
127
+ updated_at: Time,
128
+ utilization: Float
129
+ }
109
130
 
110
131
  class Status < Turbopuffer::Internal::Type::BaseModel
111
132
  attr_accessor ready_replicas: Integer
112
133
 
134
+ attr_accessor replicas: Integer
135
+
113
136
  attr_accessor updated_at: Time
114
137
 
115
138
  attr_accessor utilization: Float
116
139
 
117
140
  def initialize: (
118
141
  ready_replicas: Integer,
142
+ replicas: Integer,
119
143
  updated_at: Time,
120
144
  utilization: Float
121
145
  ) -> void
122
146
 
123
147
  def to_hash: -> {
124
148
  ready_replicas: Integer,
149
+ replicas: Integer,
125
150
  updated_at: Time,
126
151
  utilization: Float
127
152
  }
@@ -1,17 +1,26 @@
1
1
  module Turbopuffer
2
2
  module Models
3
3
  type namespace_metadata_patch =
4
- { pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning? }
4
+ {
5
+ pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning?,
6
+ read_only: bool
7
+ }
5
8
 
6
9
  class NamespaceMetadataPatch < Turbopuffer::Internal::Type::BaseModel
7
10
  attr_accessor pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning?
8
11
 
12
+ attr_reader read_only: bool?
13
+
14
+ def read_only=: (bool) -> bool
15
+
9
16
  def initialize: (
10
- ?pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning?
17
+ ?pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning?,
18
+ ?read_only: bool
11
19
  ) -> void
12
20
 
13
21
  def to_hash: -> {
14
- pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning?
22
+ pinning: Turbopuffer::Models::NamespaceMetadataPatch::pinning?,
23
+ read_only: bool
15
24
  }
16
25
 
17
26
  type pinning = bool | Turbopuffer::PinningConfig
@@ -5,6 +5,8 @@ module Turbopuffer
5
5
  namespace: String,
6
6
  queries: ::Array[Turbopuffer::NamespaceMultiQueryParams::Query],
7
7
  consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency,
8
+ limit: Turbopuffer::Models::NamespaceMultiQueryParams::limit,
9
+ offset: Integer,
8
10
  rerank_by: top,
9
11
  vector_encoding: Turbopuffer::Models::vector_encoding
10
12
  }
@@ -26,6 +28,16 @@ module Turbopuffer
26
28
  Turbopuffer::NamespaceMultiQueryParams::Consistency
27
29
  ) -> Turbopuffer::NamespaceMultiQueryParams::Consistency
28
30
 
31
+ attr_reader limit: Turbopuffer::Models::NamespaceMultiQueryParams::limit?
32
+
33
+ def limit=: (
34
+ Turbopuffer::Models::NamespaceMultiQueryParams::limit
35
+ ) -> Turbopuffer::Models::NamespaceMultiQueryParams::limit
36
+
37
+ attr_reader offset: Integer?
38
+
39
+ def offset=: (Integer) -> Integer
40
+
29
41
  attr_reader rerank_by: top?
30
42
 
31
43
  def rerank_by=: (top) -> top
@@ -40,6 +52,8 @@ module Turbopuffer
40
52
  queries: ::Array[Turbopuffer::NamespaceMultiQueryParams::Query],
41
53
  ?namespace: String,
42
54
  ?consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency,
55
+ ?limit: Turbopuffer::Models::NamespaceMultiQueryParams::limit,
56
+ ?offset: Integer,
43
57
  ?rerank_by: top,
44
58
  ?vector_encoding: Turbopuffer::Models::vector_encoding,
45
59
  ?request_options: Turbopuffer::request_opts
@@ -49,6 +63,8 @@ module Turbopuffer
49
63
  namespace: String,
50
64
  queries: ::Array[Turbopuffer::NamespaceMultiQueryParams::Query],
51
65
  consistency: Turbopuffer::NamespaceMultiQueryParams::Consistency,
66
+ limit: Turbopuffer::Models::NamespaceMultiQueryParams::limit,
67
+ offset: Integer,
52
68
  rerank_by: top,
53
69
  vector_encoding: Turbopuffer::Models::vector_encoding,
54
70
  request_options: Turbopuffer::RequestOptions
@@ -57,12 +73,14 @@ module Turbopuffer
57
73
  type query =
58
74
  {
59
75
  aggregate_by: ::Hash[Symbol, top],
76
+ compute_attributes: ::Hash[Symbol, top],
60
77
  distance_metric: Turbopuffer::Models::distance_metric,
61
78
  exclude_attributes: ::Array[String],
62
79
  filters: top,
63
80
  group_by: ::Array[top],
64
81
  include_attributes: Turbopuffer::Models::include_attributes,
65
82
  limit: Turbopuffer::Models::NamespaceMultiQueryParams::Query::limit,
83
+ offset: Integer,
66
84
  rank_by: top,
67
85
  top_k: Integer
68
86
  }
@@ -72,6 +90,10 @@ module Turbopuffer
72
90
 
73
91
  def aggregate_by=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
74
92
 
93
+ attr_reader compute_attributes: ::Hash[Symbol, top]?
94
+
95
+ def compute_attributes=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
96
+
75
97
  attr_reader distance_metric: Turbopuffer::Models::distance_metric?
76
98
 
77
99
  def distance_metric=: (
@@ -102,6 +124,10 @@ module Turbopuffer
102
124
  Turbopuffer::Models::NamespaceMultiQueryParams::Query::limit
103
125
  ) -> Turbopuffer::Models::NamespaceMultiQueryParams::Query::limit
104
126
 
127
+ attr_reader offset: Integer?
128
+
129
+ def offset=: (Integer) -> Integer
130
+
105
131
  attr_reader rank_by: top?
106
132
 
107
133
  def rank_by=: (top) -> top
@@ -112,24 +138,28 @@ module Turbopuffer
112
138
 
113
139
  def initialize: (
114
140
  ?aggregate_by: ::Hash[Symbol, top],
141
+ ?compute_attributes: ::Hash[Symbol, top],
115
142
  ?distance_metric: Turbopuffer::Models::distance_metric,
116
143
  ?exclude_attributes: ::Array[String],
117
144
  ?filters: top,
118
145
  ?group_by: ::Array[top],
119
146
  ?include_attributes: Turbopuffer::Models::include_attributes,
120
147
  ?limit: Turbopuffer::Models::NamespaceMultiQueryParams::Query::limit,
148
+ ?offset: Integer,
121
149
  ?rank_by: top,
122
150
  ?top_k: Integer
123
151
  ) -> void
124
152
 
125
153
  def to_hash: -> {
126
154
  aggregate_by: ::Hash[Symbol, top],
155
+ compute_attributes: ::Hash[Symbol, top],
127
156
  distance_metric: Turbopuffer::Models::distance_metric,
128
157
  exclude_attributes: ::Array[String],
129
158
  filters: top,
130
159
  group_by: ::Array[top],
131
160
  include_attributes: Turbopuffer::Models::include_attributes,
132
161
  limit: Turbopuffer::Models::NamespaceMultiQueryParams::Query::limit,
162
+ offset: Integer,
133
163
  rank_by: top,
134
164
  top_k: Integer
135
165
  }
@@ -177,6 +207,14 @@ module Turbopuffer
177
207
  def self?.values: -> ::Array[Turbopuffer::Models::NamespaceMultiQueryParams::Consistency::level]
178
208
  end
179
209
  end
210
+
211
+ type limit = Integer | Turbopuffer::RerankLimit
212
+
213
+ module Limit
214
+ extend Turbopuffer::Internal::Type::Union
215
+
216
+ def self?.variants: -> ::Array[Turbopuffer::Models::NamespaceMultiQueryParams::limit]
217
+ end
180
218
  end
181
219
  end
182
220
  end
@@ -0,0 +1,30 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_poll_copy_from_params =
4
+ { namespace: String, token: String }
5
+ & Turbopuffer::Internal::Type::request_parameters
6
+
7
+ class NamespacePollCopyFromParams < Turbopuffer::Internal::Type::BaseModel
8
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
9
+ include Turbopuffer::Internal::Type::RequestParameters
10
+
11
+ attr_reader namespace: String?
12
+
13
+ def namespace=: (String) -> String
14
+
15
+ attr_accessor token: String
16
+
17
+ def initialize: (
18
+ token: String,
19
+ ?namespace: String,
20
+ ?request_options: Turbopuffer::request_opts
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ namespace: String,
25
+ token: String,
26
+ request_options: Turbopuffer::RequestOptions
27
+ }
28
+ end
29
+ end
30
+ end
@@ -4,6 +4,7 @@ module Turbopuffer
4
4
  {
5
5
  namespace: String,
6
6
  aggregate_by: ::Hash[Symbol, top],
7
+ compute_attributes: ::Hash[Symbol, top],
7
8
  consistency: Turbopuffer::NamespaceQueryParams::Consistency,
8
9
  distance_metric: Turbopuffer::Models::distance_metric,
9
10
  exclude_attributes: ::Array[String],
@@ -11,6 +12,7 @@ module Turbopuffer
11
12
  group_by: ::Array[top],
12
13
  include_attributes: Turbopuffer::Models::include_attributes,
13
14
  limit: Turbopuffer::Models::NamespaceQueryParams::limit,
15
+ offset: Integer,
14
16
  rank_by: top,
15
17
  top_k: Integer,
16
18
  vector_encoding: Turbopuffer::Models::vector_encoding
@@ -29,6 +31,10 @@ module Turbopuffer
29
31
 
30
32
  def aggregate_by=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
31
33
 
34
+ attr_reader compute_attributes: ::Hash[Symbol, top]?
35
+
36
+ def compute_attributes=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
37
+
32
38
  attr_reader consistency: Turbopuffer::NamespaceQueryParams::Consistency?
33
39
 
34
40
  def consistency=: (
@@ -65,6 +71,10 @@ module Turbopuffer
65
71
  Turbopuffer::Models::NamespaceQueryParams::limit
66
72
  ) -> Turbopuffer::Models::NamespaceQueryParams::limit
67
73
 
74
+ attr_reader offset: Integer?
75
+
76
+ def offset=: (Integer) -> Integer
77
+
68
78
  attr_reader rank_by: top?
69
79
 
70
80
  def rank_by=: (top) -> top
@@ -82,6 +92,7 @@ module Turbopuffer
82
92
  def initialize: (
83
93
  ?namespace: String,
84
94
  ?aggregate_by: ::Hash[Symbol, top],
95
+ ?compute_attributes: ::Hash[Symbol, top],
85
96
  ?consistency: Turbopuffer::NamespaceQueryParams::Consistency,
86
97
  ?distance_metric: Turbopuffer::Models::distance_metric,
87
98
  ?exclude_attributes: ::Array[String],
@@ -89,6 +100,7 @@ module Turbopuffer
89
100
  ?group_by: ::Array[top],
90
101
  ?include_attributes: Turbopuffer::Models::include_attributes,
91
102
  ?limit: Turbopuffer::Models::NamespaceQueryParams::limit,
103
+ ?offset: Integer,
92
104
  ?rank_by: top,
93
105
  ?top_k: Integer,
94
106
  ?vector_encoding: Turbopuffer::Models::vector_encoding,
@@ -98,6 +110,7 @@ module Turbopuffer
98
110
  def to_hash: -> {
99
111
  namespace: String,
100
112
  aggregate_by: ::Hash[Symbol, top],
113
+ compute_attributes: ::Hash[Symbol, top],
101
114
  consistency: Turbopuffer::NamespaceQueryParams::Consistency,
102
115
  distance_metric: Turbopuffer::Models::distance_metric,
103
116
  exclude_attributes: ::Array[String],
@@ -105,6 +118,7 @@ module Turbopuffer
105
118
  group_by: ::Array[top],
106
119
  include_attributes: Turbopuffer::Models::include_attributes,
107
120
  limit: Turbopuffer::Models::NamespaceQueryParams::limit,
121
+ offset: Integer,
108
122
  rank_by: top,
109
123
  top_k: Integer,
110
124
  vector_encoding: Turbopuffer::Models::vector_encoding,
@@ -0,0 +1,56 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_start_copy_from_params =
4
+ {
5
+ namespace: String,
6
+ source_namespace: String,
7
+ dest_encryption: Turbopuffer::Models::encryption,
8
+ source_api_key: String,
9
+ source_region: String
10
+ }
11
+ & Turbopuffer::Internal::Type::request_parameters
12
+
13
+ class NamespaceStartCopyFromParams < Turbopuffer::Internal::Type::BaseModel
14
+ extend Turbopuffer::Internal::Type::RequestParameters::Converter
15
+ include Turbopuffer::Internal::Type::RequestParameters
16
+
17
+ attr_reader namespace: String?
18
+
19
+ def namespace=: (String) -> String
20
+
21
+ attr_accessor source_namespace: String
22
+
23
+ attr_reader dest_encryption: Turbopuffer::Models::encryption?
24
+
25
+ def dest_encryption=: (
26
+ Turbopuffer::Models::encryption
27
+ ) -> Turbopuffer::Models::encryption
28
+
29
+ attr_reader source_api_key: String?
30
+
31
+ def source_api_key=: (String) -> String
32
+
33
+ attr_reader source_region: String?
34
+
35
+ def source_region=: (String) -> String
36
+
37
+ def initialize: (
38
+ source_namespace: String,
39
+ ?namespace: String,
40
+ ?dest_encryption: Turbopuffer::Models::encryption,
41
+ ?source_api_key: String,
42
+ ?source_region: String,
43
+ ?request_options: Turbopuffer::request_opts
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ namespace: String,
48
+ source_namespace: String,
49
+ dest_encryption: Turbopuffer::Models::encryption,
50
+ source_api_key: String,
51
+ source_region: String,
52
+ request_options: Turbopuffer::RequestOptions
53
+ }
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,13 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type namespace_start_copy_from_response = { token: String }
4
+
5
+ class NamespaceStartCopyFromResponse < Turbopuffer::Internal::Type::BaseModel
6
+ attr_accessor token: String
7
+
8
+ def initialize: (token: String) -> void
9
+
10
+ def to_hash: -> { token: String }
11
+ end
12
+ end
13
+ end
@@ -19,6 +19,7 @@ module Turbopuffer
19
19
  patch_rows: ::Array[Turbopuffer::Row],
20
20
  return_affected_ids: bool,
21
21
  schema: ::Hash[Symbol, Turbopuffer::Models::attribute_schema],
22
+ sharding: Turbopuffer::ShardingConfig,
22
23
  upsert_columns: Turbopuffer::Columns,
23
24
  upsert_condition: top,
24
25
  upsert_rows: ::Array[Turbopuffer::Row]
@@ -111,6 +112,12 @@ module Turbopuffer
111
112
  ::Hash[Symbol, Turbopuffer::Models::attribute_schema]
112
113
  ) -> ::Hash[Symbol, Turbopuffer::Models::attribute_schema]
113
114
 
115
+ attr_reader sharding: Turbopuffer::ShardingConfig?
116
+
117
+ def sharding=: (
118
+ Turbopuffer::ShardingConfig
119
+ ) -> Turbopuffer::ShardingConfig
120
+
114
121
  attr_reader upsert_columns: Turbopuffer::Columns?
115
122
 
116
123
  def upsert_columns=: (Turbopuffer::Columns) -> Turbopuffer::Columns
@@ -141,6 +148,7 @@ module Turbopuffer
141
148
  ?patch_rows: ::Array[Turbopuffer::Row],
142
149
  ?return_affected_ids: bool,
143
150
  ?schema: ::Hash[Symbol, Turbopuffer::Models::attribute_schema],
151
+ ?sharding: Turbopuffer::ShardingConfig,
144
152
  ?upsert_columns: Turbopuffer::Columns,
145
153
  ?upsert_condition: top,
146
154
  ?upsert_rows: ::Array[Turbopuffer::Row],
@@ -165,6 +173,7 @@ module Turbopuffer
165
173
  patch_rows: ::Array[Turbopuffer::Row],
166
174
  return_affected_ids: bool,
167
175
  schema: ::Hash[Symbol, Turbopuffer::Models::attribute_schema],
176
+ sharding: Turbopuffer::ShardingConfig,
168
177
  upsert_columns: Turbopuffer::Columns,
169
178
  upsert_condition: top,
170
179
  upsert_rows: ::Array[Turbopuffer::Row],
@@ -0,0 +1,34 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type operation_error =
4
+ { detail: Turbopuffer::OperationError::Detail, status_code: Integer }
5
+
6
+ class OperationError < Turbopuffer::Internal::Type::BaseModel
7
+ attr_accessor detail: Turbopuffer::OperationError::Detail
8
+
9
+ attr_accessor status_code: Integer
10
+
11
+ def initialize: (
12
+ detail: Turbopuffer::OperationError::Detail,
13
+ status_code: Integer
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ detail: Turbopuffer::OperationError::Detail,
18
+ status_code: Integer
19
+ }
20
+
21
+ type detail = { error: String, status: :error }
22
+
23
+ class Detail < Turbopuffer::Internal::Type::BaseModel
24
+ attr_accessor error: String
25
+
26
+ attr_accessor status: :error
27
+
28
+ def initialize: (error: String, ?status: :error) -> void
29
+
30
+ def to_hash: -> { error: String, status: :error }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type rerank_limit = { total: Integer }
4
+
5
+ class RerankLimit < Turbopuffer::Internal::Type::BaseModel
6
+ attr_accessor total: Integer
7
+
8
+ def initialize: (total: Integer) -> void
9
+
10
+ def to_hash: -> { total: Integer }
11
+ end
12
+ end
13
+ end
@@ -1,15 +1,22 @@
1
1
  module Turbopuffer
2
2
  module Models
3
- type rrf_params = { rank_constant: Integer }
3
+ type rrf_params = { rank_constant: Integer, weights: ::Array[Float] }
4
4
 
5
5
  class RrfParams < Turbopuffer::Internal::Type::BaseModel
6
6
  attr_reader rank_constant: Integer?
7
7
 
8
8
  def rank_constant=: (Integer) -> Integer
9
9
 
10
- def initialize: (?rank_constant: Integer) -> void
10
+ attr_reader weights: ::Array[Float]?
11
11
 
12
- def to_hash: -> { rank_constant: Integer }
12
+ def weights=: (::Array[Float]) -> ::Array[Float]
13
+
14
+ def initialize: (
15
+ ?rank_constant: Integer,
16
+ ?weights: ::Array[Float]
17
+ ) -> void
18
+
19
+ def to_hash: -> { rank_constant: Integer, weights: ::Array[Float] }
13
20
  end
14
21
  end
15
22
  end
@@ -0,0 +1,13 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type sharding_config = { num_shards: Integer }
4
+
5
+ class ShardingConfig < Turbopuffer::Internal::Type::BaseModel
6
+ attr_accessor num_shards: Integer
7
+
8
+ def initialize: (num_shards: Integer) -> void
9
+
10
+ def to_hash: -> { num_shards: Integer }
11
+ end
12
+ end
13
+ end