turbopuffer 1.17.0 → 1.18.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51ed4f8a26c5c46912e76a0eccd23b4a397408567b0911ee847afabcf41d3a76
4
- data.tar.gz: cd812fc750088020a732b173c5f0d1744e24a54df391125446601feea7c1248f
3
+ metadata.gz: 392026af67d721a1c1e41655fa994e4b091513a09098debb10dfe3d7f5b28b10
4
+ data.tar.gz: b2594569c7c125a0ac5adf38e0a2837143672f8c5e2fac0d2c6e44c1a9e74f27
5
5
  SHA512:
6
- metadata.gz: efdbdd5d2cf339959d586d87557784371caea3e63df37ff4528cd97ffd9771f357af788a5a2bf895af88ec80fbef96233cef5b67d53d1f50bdec8064842997bc
7
- data.tar.gz: b61e2a2038949c21f21ef7dbbb637b17d685938a1c6d9ef6ad2d2c3ba4ba237d9862d9a3afedf73af73f23dd8bc642202e67478c7cb31921b3611dd7bc94f4c6
6
+ metadata.gz: 5479a222309efe4bcf5c8405c3801e1b69701ae752e97629503da8fb575267f6a5ae1c9ad25761c76c4cc0e390e8ba5b236fdbd950fbcd4a6901ab7f9d4170e9
7
+ data.tar.gz: c8ae2cdf9de61b0766fb85f8de6e647d8eeda1d5d59fa5de98dbe69d22d02ae7a7106e4ac9403cba15a5449f21bff58cea6b0cf015dbbd89072f94c5bae02a6b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.18.0 (2026-03-20)
4
+
5
+ Full Changelog: [v1.17.0...v1.18.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v1.17.0...v1.18.0)
6
+
7
+ ### Features
8
+
9
+ * spec: disable CopyFromNamespace syntax sugar in Go ([93d9e4b](https://github.com/turbopuffer/turbopuffer-ruby/commit/93d9e4b4501ed7f444f2365b09baa5231349edf8))
10
+ * tpuf-engine: add verbose form of branch_from_namespace ([1ae049a](https://github.com/turbopuffer/turbopuffer-ruby/commit/1ae049ad623d519817d4d9b71228f5f4e7a55aec))
11
+
3
12
  ## 1.17.0 (2026-03-18)
4
13
 
5
14
  Full Changelog: [v1.16.0...v1.17.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v1.16.0...v1.17.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "turbopuffer", "~> 1.17.0"
29
+ gem "turbopuffer", "~> 1.18.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Turbopuffer
4
+ module Models
5
+ # The namespace to create an instant, copy-on-write clone of.
6
+ module BranchFromNamespaceParams
7
+ extend Turbopuffer::Internal::Type::Union
8
+
9
+ # The namespace to create an instant, copy-on-write clone of.
10
+ variant String
11
+
12
+ variant -> { Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig }
13
+
14
+ class BranchFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
15
+ # @!attribute source_namespace
16
+ # The namespace to create an instant, copy-on-write clone of.
17
+ #
18
+ # @return [String]
19
+ required :source_namespace, String
20
+
21
+ # @!method initialize(source_namespace:)
22
+ # @param source_namespace [String] The namespace to create an instant, copy-on-write clone of.
23
+ end
24
+
25
+ # @!method self.variants
26
+ # @return [Array(String, Turbopuffer::Models::BranchFromNamespaceParams::BranchFromNamespaceConfig)]
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Turbopuffer
4
+ module Models
5
+ # The namespace to copy documents from.
6
+ module CopyFromNamespaceParams
7
+ extend Turbopuffer::Internal::Type::Union
8
+
9
+ # The namespace to copy documents from.
10
+ variant String
11
+
12
+ variant -> { Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig }
13
+
14
+ class CopyFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
15
+ # @!attribute source_namespace
16
+ # The namespace to copy documents from.
17
+ #
18
+ # @return [String]
19
+ required :source_namespace, String
20
+
21
+ # @!attribute source_api_key
22
+ # (Optional) An API key for the organization containing the source namespace
23
+ #
24
+ # @return [String, nil]
25
+ optional :source_api_key, String
26
+
27
+ # @!attribute source_region
28
+ # (Optional) The region of the source namespace.
29
+ #
30
+ # @return [String, nil]
31
+ optional :source_region, String
32
+
33
+ # @!method initialize(source_namespace:, source_api_key: nil, source_region: nil)
34
+ # @param source_namespace [String] The namespace to copy documents from.
35
+ #
36
+ # @param source_api_key [String] (Optional) An API key for the organization containing the source namespace
37
+ #
38
+ # @param source_region [String] (Optional) The region of the source namespace.
39
+ end
40
+
41
+ # @!method self.variants
42
+ # @return [Array(String, Turbopuffer::Models::CopyFromNamespaceParams::CopyFromNamespaceConfig)]
43
+ end
44
+ end
45
+ end
@@ -15,14 +15,14 @@ module Turbopuffer
15
15
  # @!attribute branch_from_namespace
16
16
  # The namespace to create an instant, copy-on-write clone of.
17
17
  #
18
- # @return [String, nil]
19
- optional :branch_from_namespace, String
18
+ # @return [String, Turbopuffer::Models::BranchFromNamespaceParams::BranchFromNamespaceConfig, nil]
19
+ optional :branch_from_namespace, union: -> { Turbopuffer::BranchFromNamespaceParams }
20
20
 
21
21
  # @!attribute copy_from_namespace
22
22
  # The namespace to copy documents from.
23
23
  #
24
- # @return [String, Turbopuffer::Models::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig, nil]
25
- optional :copy_from_namespace, union: -> { Turbopuffer::NamespaceWriteParams::CopyFromNamespace }
24
+ # @return [String, Turbopuffer::Models::CopyFromNamespaceParams::CopyFromNamespaceConfig, nil]
25
+ optional :copy_from_namespace, union: -> { Turbopuffer::CopyFromNamespaceParams }
26
26
 
27
27
  # @!attribute delete_by_filter
28
28
  # The filter specifying which documents to delete.
@@ -136,9 +136,9 @@ module Turbopuffer
136
136
  #
137
137
  # @param namespace [String]
138
138
  #
139
- # @param branch_from_namespace [String] The namespace to create an instant, copy-on-write clone of.
139
+ # @param branch_from_namespace [String, Turbopuffer::Models::BranchFromNamespaceParams::BranchFromNamespaceConfig] The namespace to create an instant, copy-on-write clone of.
140
140
  #
141
- # @param copy_from_namespace [String, Turbopuffer::Models::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig] The namespace to copy documents from.
141
+ # @param copy_from_namespace [String, Turbopuffer::Models::CopyFromNamespaceParams::CopyFromNamespaceConfig] The namespace to copy documents from.
142
142
  #
143
143
  # @param delete_by_filter [Object] The filter specifying which documents to delete.
144
144
  #
@@ -176,46 +176,6 @@ module Turbopuffer
176
176
  #
177
177
  # @param request_options [Turbopuffer::RequestOptions, Hash{Symbol=>Object}]
178
178
 
179
- # The namespace to copy documents from.
180
- module CopyFromNamespace
181
- extend Turbopuffer::Internal::Type::Union
182
-
183
- # The namespace to copy documents from.
184
- variant String
185
-
186
- variant -> { Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig }
187
-
188
- class CopyFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
189
- # @!attribute source_namespace
190
- # The namespace to copy documents from.
191
- #
192
- # @return [String]
193
- required :source_namespace, String
194
-
195
- # @!attribute source_api_key
196
- # (Optional) An API key for the organization containing the source namespace
197
- #
198
- # @return [String, nil]
199
- optional :source_api_key, String
200
-
201
- # @!attribute source_region
202
- # (Optional) The region of the source namespace.
203
- #
204
- # @return [String, nil]
205
- optional :source_region, String
206
-
207
- # @!method initialize(source_namespace:, source_api_key: nil, source_region: nil)
208
- # @param source_namespace [String] The namespace to copy documents from.
209
- #
210
- # @param source_api_key [String] (Optional) An API key for the organization containing the source namespace
211
- #
212
- # @param source_region [String] (Optional) The region of the source namespace.
213
- end
214
-
215
- # @!method self.variants
216
- # @return [Array(String, Turbopuffer::Models::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig)]
217
- end
218
-
219
179
  class Encryption < Turbopuffer::Internal::Type::BaseModel
220
180
  # @!attribute cmek
221
181
  #
@@ -50,6 +50,8 @@ module Turbopuffer
50
50
 
51
51
  Bm25ClauseParams = Turbopuffer::Models::Bm25ClauseParams
52
52
 
53
+ BranchFromNamespaceParams = Turbopuffer::Models::BranchFromNamespaceParams
54
+
53
55
  ClientNamespacesParams = Turbopuffer::Models::ClientNamespacesParams
54
56
 
55
57
  Columns = Turbopuffer::Models::Columns
@@ -58,6 +60,8 @@ module Turbopuffer
58
60
 
59
61
  ContainsAnyTokenFilterParams = Turbopuffer::Models::ContainsAnyTokenFilterParams
60
62
 
63
+ CopyFromNamespaceParams = Turbopuffer::Models::CopyFromNamespaceParams
64
+
61
65
  DecayParams = Turbopuffer::Models::DecayParams
62
66
 
63
67
  DistanceMetric = Turbopuffer::Models::DistanceMetric
@@ -311,9 +311,9 @@ module Turbopuffer
311
311
  #
312
312
  # @param namespace [String] Path param: The name of the namespace.
313
313
  #
314
- # @param branch_from_namespace [String] Body param: The namespace to create an instant, copy-on-write clone of.
314
+ # @param branch_from_namespace [String, Turbopuffer::Models::BranchFromNamespaceParams::BranchFromNamespaceConfig] Body param: The namespace to create an instant, copy-on-write clone of.
315
315
  #
316
- # @param copy_from_namespace [String, Turbopuffer::Models::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig] Body param: The namespace to copy documents from.
316
+ # @param copy_from_namespace [String, Turbopuffer::Models::CopyFromNamespaceParams::CopyFromNamespaceConfig] Body param: The namespace to copy documents from.
317
317
  #
318
318
  # @param delete_by_filter [Object] Body param: The filter specifying which documents to delete.
319
319
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Turbopuffer
4
- VERSION = "1.17.0"
4
+ VERSION = "1.18.0"
5
5
  end
data/lib/turbopuffer.rb CHANGED
@@ -58,10 +58,12 @@ require_relative "turbopuffer/models/attribute_schema"
58
58
  require_relative "turbopuffer/models/attribute_schema_config"
59
59
  require_relative "turbopuffer/models/attribute_type"
60
60
  require_relative "turbopuffer/models/bm25_clause_params"
61
+ require_relative "turbopuffer/models/branch_from_namespace_params"
61
62
  require_relative "turbopuffer/models/client_namespaces_params"
62
63
  require_relative "turbopuffer/models/columns"
63
64
  require_relative "turbopuffer/models/contains_all_tokens_filter_params"
64
65
  require_relative "turbopuffer/models/contains_any_token_filter_params"
66
+ require_relative "turbopuffer/models/copy_from_namespace_params"
65
67
  require_relative "turbopuffer/models/decay_params"
66
68
  require_relative "turbopuffer/models/distance_metric"
67
69
  require_relative "turbopuffer/models/full_text_search"
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module Turbopuffer
4
+ module Models
5
+ # The namespace to create an instant, copy-on-write clone of.
6
+ module BranchFromNamespaceParams
7
+ extend Turbopuffer::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ String,
13
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig
14
+ )
15
+ end
16
+
17
+ class BranchFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
18
+ OrHash =
19
+ T.type_alias do
20
+ T.any(
21
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig,
22
+ Turbopuffer::Internal::AnyHash
23
+ )
24
+ end
25
+
26
+ # The namespace to create an instant, copy-on-write clone of.
27
+ sig { returns(String) }
28
+ attr_accessor :source_namespace
29
+
30
+ sig { params(source_namespace: String).returns(T.attached_class) }
31
+ def self.new(
32
+ # The namespace to create an instant, copy-on-write clone of.
33
+ source_namespace:
34
+ )
35
+ end
36
+
37
+ sig { override.returns({ source_namespace: String }) }
38
+ def to_hash
39
+ end
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ T::Array[Turbopuffer::BranchFromNamespaceParams::Variants]
45
+ )
46
+ end
47
+ def self.variants
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Turbopuffer
4
+ module Models
5
+ # The namespace to copy documents from.
6
+ module CopyFromNamespaceParams
7
+ extend Turbopuffer::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ String,
13
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig
14
+ )
15
+ end
16
+
17
+ class CopyFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
18
+ OrHash =
19
+ T.type_alias do
20
+ T.any(
21
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig,
22
+ Turbopuffer::Internal::AnyHash
23
+ )
24
+ end
25
+
26
+ # The namespace to copy documents from.
27
+ sig { returns(String) }
28
+ attr_accessor :source_namespace
29
+
30
+ # (Optional) An API key for the organization containing the source namespace
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :source_api_key
33
+
34
+ sig { params(source_api_key: String).void }
35
+ attr_writer :source_api_key
36
+
37
+ # (Optional) The region of the source namespace.
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :source_region
40
+
41
+ sig { params(source_region: String).void }
42
+ attr_writer :source_region
43
+
44
+ sig do
45
+ params(
46
+ source_namespace: String,
47
+ source_api_key: String,
48
+ source_region: String
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ # The namespace to copy documents from.
53
+ source_namespace:,
54
+ # (Optional) An API key for the organization containing the source namespace
55
+ source_api_key: nil,
56
+ # (Optional) The region of the source namespace.
57
+ source_region: nil
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ source_namespace: String,
65
+ source_api_key: String,
66
+ source_region: String
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ T::Array[Turbopuffer::CopyFromNamespaceParams::Variants]
77
+ )
78
+ end
79
+ def self.variants
80
+ end
81
+ end
82
+ end
83
+ end
@@ -21,10 +21,27 @@ module Turbopuffer
21
21
  attr_writer :namespace
22
22
 
23
23
  # The namespace to create an instant, copy-on-write clone of.
24
- sig { returns(T.nilable(String)) }
24
+ sig do
25
+ returns(
26
+ T.nilable(
27
+ T.any(
28
+ String,
29
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig
30
+ )
31
+ )
32
+ )
33
+ end
25
34
  attr_reader :branch_from_namespace
26
35
 
27
- sig { params(branch_from_namespace: String).void }
36
+ sig do
37
+ params(
38
+ branch_from_namespace:
39
+ T.any(
40
+ String,
41
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig::OrHash
42
+ )
43
+ ).void
44
+ end
28
45
  attr_writer :branch_from_namespace
29
46
 
30
47
  # The namespace to copy documents from.
@@ -33,7 +50,7 @@ module Turbopuffer
33
50
  T.nilable(
34
51
  T.any(
35
52
  String,
36
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig
53
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig
37
54
  )
38
55
  )
39
56
  )
@@ -45,7 +62,7 @@ module Turbopuffer
45
62
  copy_from_namespace:
46
63
  T.any(
47
64
  String,
48
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig::OrHash
65
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig::OrHash
49
66
  )
50
67
  ).void
51
68
  end
@@ -204,11 +221,15 @@ module Turbopuffer
204
221
  sig do
205
222
  params(
206
223
  namespace: String,
207
- branch_from_namespace: String,
224
+ branch_from_namespace:
225
+ T.any(
226
+ String,
227
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig::OrHash
228
+ ),
208
229
  copy_from_namespace:
209
230
  T.any(
210
231
  String,
211
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig::OrHash
232
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig::OrHash
212
233
  ),
213
234
  delete_by_filter: T.anything,
214
235
  delete_by_filter_allow_partial: T::Boolean,
@@ -287,11 +308,15 @@ module Turbopuffer
287
308
  override.returns(
288
309
  {
289
310
  namespace: String,
290
- branch_from_namespace: String,
311
+ branch_from_namespace:
312
+ T.any(
313
+ String,
314
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig
315
+ ),
291
316
  copy_from_namespace:
292
317
  T.any(
293
318
  String,
294
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig
319
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig
295
320
  ),
296
321
  delete_by_filter: T.anything,
297
322
  delete_by_filter_allow_partial: T::Boolean,
@@ -321,86 +346,6 @@ module Turbopuffer
321
346
  def to_hash
322
347
  end
323
348
 
324
- # The namespace to copy documents from.
325
- module CopyFromNamespace
326
- extend Turbopuffer::Internal::Type::Union
327
-
328
- Variants =
329
- T.type_alias do
330
- T.any(
331
- String,
332
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig
333
- )
334
- end
335
-
336
- class CopyFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
337
- OrHash =
338
- T.type_alias do
339
- T.any(
340
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig,
341
- Turbopuffer::Internal::AnyHash
342
- )
343
- end
344
-
345
- # The namespace to copy documents from.
346
- sig { returns(String) }
347
- attr_accessor :source_namespace
348
-
349
- # (Optional) An API key for the organization containing the source namespace
350
- sig { returns(T.nilable(String)) }
351
- attr_reader :source_api_key
352
-
353
- sig { params(source_api_key: String).void }
354
- attr_writer :source_api_key
355
-
356
- # (Optional) The region of the source namespace.
357
- sig { returns(T.nilable(String)) }
358
- attr_reader :source_region
359
-
360
- sig { params(source_region: String).void }
361
- attr_writer :source_region
362
-
363
- sig do
364
- params(
365
- source_namespace: String,
366
- source_api_key: String,
367
- source_region: String
368
- ).returns(T.attached_class)
369
- end
370
- def self.new(
371
- # The namespace to copy documents from.
372
- source_namespace:,
373
- # (Optional) An API key for the organization containing the source namespace
374
- source_api_key: nil,
375
- # (Optional) The region of the source namespace.
376
- source_region: nil
377
- )
378
- end
379
-
380
- sig do
381
- override.returns(
382
- {
383
- source_namespace: String,
384
- source_api_key: String,
385
- source_region: String
386
- }
387
- )
388
- end
389
- def to_hash
390
- end
391
- end
392
-
393
- sig do
394
- override.returns(
395
- T::Array[
396
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::Variants
397
- ]
398
- )
399
- end
400
- def self.variants
401
- end
402
- end
403
-
404
349
  class Encryption < Turbopuffer::Internal::Type::BaseModel
405
350
  OrHash =
406
351
  T.type_alias do
@@ -15,6 +15,8 @@ module Turbopuffer
15
15
 
16
16
  Bm25ClauseParams = Turbopuffer::Models::Bm25ClauseParams
17
17
 
18
+ BranchFromNamespaceParams = Turbopuffer::Models::BranchFromNamespaceParams
19
+
18
20
  ClientNamespacesParams = Turbopuffer::Models::ClientNamespacesParams
19
21
 
20
22
  Columns = Turbopuffer::Models::Columns
@@ -25,6 +27,8 @@ module Turbopuffer
25
27
  ContainsAnyTokenFilterParams =
26
28
  Turbopuffer::Models::ContainsAnyTokenFilterParams
27
29
 
30
+ CopyFromNamespaceParams = Turbopuffer::Models::CopyFromNamespaceParams
31
+
28
32
  DecayParams = Turbopuffer::Models::DecayParams
29
33
 
30
34
  DistanceMetric = Turbopuffer::Models::DistanceMetric
@@ -238,11 +238,15 @@ module Turbopuffer
238
238
  sig do
239
239
  params(
240
240
  namespace: String,
241
- branch_from_namespace: String,
241
+ branch_from_namespace:
242
+ T.any(
243
+ String,
244
+ Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig::OrHash
245
+ ),
242
246
  copy_from_namespace:
243
247
  T.any(
244
248
  String,
245
- Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig::OrHash
249
+ Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig::OrHash
246
250
  ),
247
251
  delete_by_filter: T.anything,
248
252
  delete_by_filter_allow_partial: T::Boolean,
@@ -0,0 +1,22 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type branch_from_namespace_params =
4
+ String | Turbopuffer::BranchFromNamespaceParams::BranchFromNamespaceConfig
5
+
6
+ module BranchFromNamespaceParams
7
+ extend Turbopuffer::Internal::Type::Union
8
+
9
+ type branch_from_namespace_config = { source_namespace: String }
10
+
11
+ class BranchFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
12
+ attr_accessor source_namespace: String
13
+
14
+ def initialize: (source_namespace: String) -> void
15
+
16
+ def to_hash: -> { source_namespace: String }
17
+ end
18
+
19
+ def self?.variants: -> ::Array[Turbopuffer::Models::branch_from_namespace_params]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,43 @@
1
+ module Turbopuffer
2
+ module Models
3
+ type copy_from_namespace_params =
4
+ String | Turbopuffer::CopyFromNamespaceParams::CopyFromNamespaceConfig
5
+
6
+ module CopyFromNamespaceParams
7
+ extend Turbopuffer::Internal::Type::Union
8
+
9
+ type copy_from_namespace_config =
10
+ {
11
+ source_namespace: String,
12
+ source_api_key: String,
13
+ source_region: String
14
+ }
15
+
16
+ class CopyFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
17
+ attr_accessor source_namespace: String
18
+
19
+ attr_reader source_api_key: String?
20
+
21
+ def source_api_key=: (String) -> String
22
+
23
+ attr_reader source_region: String?
24
+
25
+ def source_region=: (String) -> String
26
+
27
+ def initialize: (
28
+ source_namespace: String,
29
+ ?source_api_key: String,
30
+ ?source_region: String
31
+ ) -> void
32
+
33
+ def to_hash: -> {
34
+ source_namespace: String,
35
+ source_api_key: String,
36
+ source_region: String
37
+ }
38
+ end
39
+
40
+ def self?.variants: -> ::Array[Turbopuffer::Models::copy_from_namespace_params]
41
+ end
42
+ end
43
+ end
@@ -3,8 +3,8 @@ module Turbopuffer
3
3
  type namespace_write_params =
4
4
  {
5
5
  namespace: String,
6
- branch_from_namespace: String,
7
- copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
6
+ branch_from_namespace: Turbopuffer::Models::branch_from_namespace_params,
7
+ copy_from_namespace: Turbopuffer::Models::copy_from_namespace_params,
8
8
  delete_by_filter: top,
9
9
  delete_by_filter_allow_partial: bool,
10
10
  delete_condition: top,
@@ -33,15 +33,17 @@ module Turbopuffer
33
33
 
34
34
  def namespace=: (String) -> String
35
35
 
36
- attr_reader branch_from_namespace: String?
36
+ attr_reader branch_from_namespace: Turbopuffer::Models::branch_from_namespace_params?
37
37
 
38
- def branch_from_namespace=: (String) -> String
38
+ def branch_from_namespace=: (
39
+ Turbopuffer::Models::branch_from_namespace_params
40
+ ) -> Turbopuffer::Models::branch_from_namespace_params
39
41
 
40
- attr_reader copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace?
42
+ attr_reader copy_from_namespace: Turbopuffer::Models::copy_from_namespace_params?
41
43
 
42
44
  def copy_from_namespace=: (
43
- Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace
44
- ) -> Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace
45
+ Turbopuffer::Models::copy_from_namespace_params
46
+ ) -> Turbopuffer::Models::copy_from_namespace_params
45
47
 
46
48
  attr_reader delete_by_filter: top?
47
49
 
@@ -123,8 +125,8 @@ module Turbopuffer
123
125
 
124
126
  def initialize: (
125
127
  ?namespace: String,
126
- ?branch_from_namespace: String,
127
- ?copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
128
+ ?branch_from_namespace: Turbopuffer::Models::branch_from_namespace_params,
129
+ ?copy_from_namespace: Turbopuffer::Models::copy_from_namespace_params,
128
130
  ?delete_by_filter: top,
129
131
  ?delete_by_filter_allow_partial: bool,
130
132
  ?delete_condition: top,
@@ -147,8 +149,8 @@ module Turbopuffer
147
149
 
148
150
  def to_hash: -> {
149
151
  namespace: String,
150
- branch_from_namespace: String,
151
- copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
152
+ branch_from_namespace: Turbopuffer::Models::branch_from_namespace_params,
153
+ copy_from_namespace: Turbopuffer::Models::copy_from_namespace_params,
152
154
  delete_by_filter: top,
153
155
  delete_by_filter_allow_partial: bool,
154
156
  delete_condition: top,
@@ -169,47 +171,6 @@ module Turbopuffer
169
171
  request_options: Turbopuffer::RequestOptions
170
172
  }
171
173
 
172
- type copy_from_namespace =
173
- String
174
- | Turbopuffer::NamespaceWriteParams::CopyFromNamespace::CopyFromNamespaceConfig
175
-
176
- module CopyFromNamespace
177
- extend Turbopuffer::Internal::Type::Union
178
-
179
- type copy_from_namespace_config =
180
- {
181
- source_namespace: String,
182
- source_api_key: String,
183
- source_region: String
184
- }
185
-
186
- class CopyFromNamespaceConfig < Turbopuffer::Internal::Type::BaseModel
187
- attr_accessor source_namespace: String
188
-
189
- attr_reader source_api_key: String?
190
-
191
- def source_api_key=: (String) -> String
192
-
193
- attr_reader source_region: String?
194
-
195
- def source_region=: (String) -> String
196
-
197
- def initialize: (
198
- source_namespace: String,
199
- ?source_api_key: String,
200
- ?source_region: String
201
- ) -> void
202
-
203
- def to_hash: -> {
204
- source_namespace: String,
205
- source_api_key: String,
206
- source_region: String
207
- }
208
- end
209
-
210
- def self?.variants: -> ::Array[Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace]
211
- end
212
-
213
174
  type encryption =
214
175
  { cmek: Turbopuffer::NamespaceWriteParams::Encryption::Cmek }
215
176
 
@@ -9,6 +9,8 @@ module Turbopuffer
9
9
 
10
10
  class Bm25ClauseParams = Turbopuffer::Models::Bm25ClauseParams
11
11
 
12
+ module BranchFromNamespaceParams = Turbopuffer::Models::BranchFromNamespaceParams
13
+
12
14
  class ClientNamespacesParams = Turbopuffer::Models::ClientNamespacesParams
13
15
 
14
16
  class Columns = Turbopuffer::Models::Columns
@@ -17,6 +19,8 @@ module Turbopuffer
17
19
 
18
20
  class ContainsAnyTokenFilterParams = Turbopuffer::Models::ContainsAnyTokenFilterParams
19
21
 
22
+ module CopyFromNamespaceParams = Turbopuffer::Models::CopyFromNamespaceParams
23
+
20
24
  class DecayParams = Turbopuffer::Models::DecayParams
21
25
 
22
26
  module DistanceMetric = Turbopuffer::Models::DistanceMetric
@@ -78,8 +78,8 @@ module Turbopuffer
78
78
 
79
79
  def write: (
80
80
  ?namespace: String,
81
- ?branch_from_namespace: String,
82
- ?copy_from_namespace: Turbopuffer::Models::NamespaceWriteParams::copy_from_namespace,
81
+ ?branch_from_namespace: Turbopuffer::Models::branch_from_namespace_params,
82
+ ?copy_from_namespace: Turbopuffer::Models::copy_from_namespace_params,
83
83
  ?delete_by_filter: top,
84
84
  ?delete_by_filter_allow_partial: bool,
85
85
  ?delete_condition: top,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turbopuffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Turbopuffer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-18 00:00:00.000000000 Z
11
+ date: 2026-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -75,10 +75,12 @@ files:
75
75
  - lib/turbopuffer/models/attribute_schema_config.rb
76
76
  - lib/turbopuffer/models/attribute_type.rb
77
77
  - lib/turbopuffer/models/bm25_clause_params.rb
78
+ - lib/turbopuffer/models/branch_from_namespace_params.rb
78
79
  - lib/turbopuffer/models/client_namespaces_params.rb
79
80
  - lib/turbopuffer/models/columns.rb
80
81
  - lib/turbopuffer/models/contains_all_tokens_filter_params.rb
81
82
  - lib/turbopuffer/models/contains_any_token_filter_params.rb
83
+ - lib/turbopuffer/models/copy_from_namespace_params.rb
82
84
  - lib/turbopuffer/models/decay_params.rb
83
85
  - lib/turbopuffer/models/distance_metric.rb
84
86
  - lib/turbopuffer/models/full_text_search.rb
@@ -148,10 +150,12 @@ files:
148
150
  - rbi/turbopuffer/models/attribute_schema_config.rbi
149
151
  - rbi/turbopuffer/models/attribute_type.rbi
150
152
  - rbi/turbopuffer/models/bm25_clause_params.rbi
153
+ - rbi/turbopuffer/models/branch_from_namespace_params.rbi
151
154
  - rbi/turbopuffer/models/client_namespaces_params.rbi
152
155
  - rbi/turbopuffer/models/columns.rbi
153
156
  - rbi/turbopuffer/models/contains_all_tokens_filter_params.rbi
154
157
  - rbi/turbopuffer/models/contains_any_token_filter_params.rbi
158
+ - rbi/turbopuffer/models/copy_from_namespace_params.rbi
155
159
  - rbi/turbopuffer/models/decay_params.rbi
156
160
  - rbi/turbopuffer/models/distance_metric.rbi
157
161
  - rbi/turbopuffer/models/full_text_search.rbi
@@ -220,10 +224,12 @@ files:
220
224
  - sig/turbopuffer/models/attribute_schema_config.rbs
221
225
  - sig/turbopuffer/models/attribute_type.rbs
222
226
  - sig/turbopuffer/models/bm25_clause_params.rbs
227
+ - sig/turbopuffer/models/branch_from_namespace_params.rbs
223
228
  - sig/turbopuffer/models/client_namespaces_params.rbs
224
229
  - sig/turbopuffer/models/columns.rbs
225
230
  - sig/turbopuffer/models/contains_all_tokens_filter_params.rbs
226
231
  - sig/turbopuffer/models/contains_any_token_filter_params.rbs
232
+ - sig/turbopuffer/models/copy_from_namespace_params.rbs
227
233
  - sig/turbopuffer/models/decay_params.rbs
228
234
  - sig/turbopuffer/models/distance_metric.rbs
229
235
  - sig/turbopuffer/models/full_text_search.rbs