turbopuffer 2.6.0 → 2.7.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: '058e339a61ee55eb37ca7fb90c0577139648fcfef118ce8f335d82251e0a3181'
4
- data.tar.gz: 23fbb9c57f365f44173845c51a5363af452c6d644c16a529cb8c70e30cef8906
3
+ metadata.gz: ef31174cdc912d308aff4e1392291db0bc29aaa5accdfe5f715a51bccb46e6f7
4
+ data.tar.gz: b73f653240c84d4ecd85be785bf236c77e236c1c95547754339b3e94e98feb7d
5
5
  SHA512:
6
- metadata.gz: 03a5b108cafeb02ff74979349a226dcfc67d47c12a6f17e1955f81c1631c180a542808ef36818c6b251ec48bfdf80a57314bfb33949f176916e0802f50cdab8f
7
- data.tar.gz: e2eb636c572b8637f0d87812adfab0b30b2b0cfb2042841136529dde7a776c59e827595e7fe48751caeb92746f34bc3534a7bfe219b70380fa1e6c8b2956fc74
6
+ metadata.gz: 1c2a3e24797234d50a2d0606b449a589ceec5c9b29debb461f7e1e0559170d8c7c3237bf1d70df606affcdbf96142b8905ca42f17a01cbe11a660535d22d10de
7
+ data.tar.gz: 6e33f83ad2b352168124205f2ac50d93101ae784eb379cc77ae20182eaf9cc3cfe9ac19a02c104c640e1225903f410369ebc1d1e9f828008b2907b6dc4e19d5f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.7.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v2.6.0...v2.7.0) (2026-10-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * embedding: openapi embedding stats ([8e507b4](https://github.com/turbopuffer/turbopuffer-ruby/commit/8e507b4be4c36b6a451e4ae1caee59d477fcc494))
9
+ * metadata: expose unindexed_rows in index status ([d9fe3b0](https://github.com/turbopuffer/turbopuffer-ruby/commit/d9fe3b065aff2fb578c7f950cce4c2664037b0a5))
10
+
11
+
12
+ ### Chores
13
+
14
+ * regenerate SDK ([b6678e9](https://github.com/turbopuffer/turbopuffer-ruby/commit/b6678e9fd9a33f4545541da85e7578d377154801))
15
+
3
16
  ## [2.6.0](https://github.com/turbopuffer/turbopuffer-ruby/compare/v2.5.0...v2.6.0) (2026-10-07)
4
17
 
5
18
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "turbopuffer", "~> 2.6.0"
20
+ gem "turbopuffer", "~> 2.7.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -124,12 +124,20 @@ module Turbopuffer
124
124
  # @return [Integer]
125
125
  required :unindexed_bytes, Integer
126
126
 
127
- # @!method initialize(unindexed_bytes:, status: :updating)
127
+ # @!attribute unindexed_rows
128
+ # The number of rows in the write-ahead log that have not yet been indexed.
129
+ #
130
+ # @return [Integer]
131
+ required :unindexed_rows, Integer
132
+
133
+ # @!method initialize(unindexed_bytes:, unindexed_rows:, status: :updating)
128
134
  # Some parameter documentations has been truncated, see
129
135
  # {Turbopuffer::Models::NamespaceMetadata::Index::IndexUpdating} for more details.
130
136
  #
131
137
  # @param unindexed_bytes [Integer] The number of bytes in the namespace that are in the write-ahead log but have no
132
138
  #
139
+ # @param unindexed_rows [Integer] The number of rows in the write-ahead log that have not yet been indexed.
140
+ #
133
141
  # @param status [Symbol, :updating]
134
142
  end
135
143
 
@@ -41,7 +41,20 @@ module Turbopuffer
41
41
  # @return [Integer]
42
42
  required :server_total_ms, Integer
43
43
 
44
- # @!method initialize(approx_namespace_size:, cache_hit_ratio:, cache_temperature:, exhaustive_search_count:, query_execution_ms:, server_total_ms:)
44
+ # @!attribute embedding_ms
45
+ # Time spent embedding text, in milliseconds. Only set when using a native
46
+ # embedding model.
47
+ #
48
+ # @return [Integer, nil]
49
+ optional :embedding_ms, Integer
50
+
51
+ # @!attribute embedding_tokens
52
+ # The number of tokens embedded. Only set when using a native embedding model.
53
+ #
54
+ # @return [Integer, nil]
55
+ optional :embedding_tokens, Integer
56
+
57
+ # @!method initialize(approx_namespace_size:, cache_hit_ratio:, cache_temperature:, exhaustive_search_count:, query_execution_ms:, server_total_ms:, embedding_ms: nil, embedding_tokens: nil)
45
58
  # Some parameter documentations has been truncated, see
46
59
  # {Turbopuffer::Models::QueryPerformance} for more details.
47
60
  #
@@ -58,6 +71,10 @@ module Turbopuffer
58
71
  # @param query_execution_ms [Integer] Request time measured on the server, excluding time spent waiting due to the nam
59
72
  #
60
73
  # @param server_total_ms [Integer] Request time measured on the server, including time spent waiting for other quer
74
+ #
75
+ # @param embedding_ms [Integer] Time spent embedding text, in milliseconds. Only set when using a native embeddi
76
+ #
77
+ # @param embedding_tokens [Integer] The number of tokens embedded. Only set when using a native embedding model.
61
78
  end
62
79
  end
63
80
  end
@@ -9,10 +9,30 @@ module Turbopuffer
9
9
  # @return [Integer]
10
10
  required :server_total_ms, Integer
11
11
 
12
- # @!method initialize(server_total_ms:)
12
+ # @!attribute embedding_ms
13
+ # Time spent embedding text, in milliseconds. Only set when using a native
14
+ # embedding model.
15
+ #
16
+ # @return [Integer, nil]
17
+ optional :embedding_ms, Integer
18
+
19
+ # @!attribute embedding_tokens
20
+ # The number of tokens embedded. Only set when using a native embedding model.
21
+ #
22
+ # @return [Integer, nil]
23
+ optional :embedding_tokens, Integer
24
+
25
+ # @!method initialize(server_total_ms:, embedding_ms: nil, embedding_tokens: nil)
26
+ # Some parameter documentations has been truncated, see
27
+ # {Turbopuffer::Models::WritePerformance} for more details.
28
+ #
13
29
  # The performance information for a write request.
14
30
  #
15
31
  # @param server_total_ms [Integer] Request time measured on the server, in milliseconds.
32
+ #
33
+ # @param embedding_ms [Integer] Time spent embedding text, in milliseconds. Only set when using a native embeddi
34
+ #
35
+ # @param embedding_tokens [Integer] The number of tokens embedded. Only set when using a native embedding model.
16
36
  end
17
37
  end
18
38
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Turbopuffer
4
- VERSION = "2.6.0"
4
+ VERSION = "2.7.0"
5
5
  end
@@ -180,20 +180,36 @@ module Turbopuffer
180
180
  sig { returns(Integer) }
181
181
  attr_accessor :unindexed_bytes
182
182
 
183
+ # The number of rows in the write-ahead log that have not yet been indexed.
184
+ sig { returns(Integer) }
185
+ attr_accessor :unindexed_rows
186
+
183
187
  sig do
184
- params(unindexed_bytes: Integer, status: Symbol).returns(
185
- T.attached_class
186
- )
188
+ params(
189
+ unindexed_bytes: Integer,
190
+ unindexed_rows: Integer,
191
+ status: Symbol
192
+ ).returns(T.attached_class)
187
193
  end
188
194
  def self.new(
189
195
  # The number of bytes in the namespace that are in the write-ahead log but have
190
196
  # not yet been indexed.
191
197
  unindexed_bytes:,
198
+ # The number of rows in the write-ahead log that have not yet been indexed.
199
+ unindexed_rows:,
192
200
  status: :updating
193
201
  )
194
202
  end
195
203
 
196
- sig { override.returns({ status: Symbol, unindexed_bytes: Integer }) }
204
+ sig do
205
+ override.returns(
206
+ {
207
+ status: Symbol,
208
+ unindexed_bytes: Integer,
209
+ unindexed_rows: Integer
210
+ }
211
+ )
212
+ end
197
213
  def to_hash
198
214
  end
199
215
  end
@@ -34,6 +34,21 @@ module Turbopuffer
34
34
  sig { returns(Integer) }
35
35
  attr_accessor :server_total_ms
36
36
 
37
+ # Time spent embedding text, in milliseconds. Only set when using a native
38
+ # embedding model.
39
+ sig { returns(T.nilable(Integer)) }
40
+ attr_reader :embedding_ms
41
+
42
+ sig { params(embedding_ms: Integer).void }
43
+ attr_writer :embedding_ms
44
+
45
+ # The number of tokens embedded. Only set when using a native embedding model.
46
+ sig { returns(T.nilable(Integer)) }
47
+ attr_reader :embedding_tokens
48
+
49
+ sig { params(embedding_tokens: Integer).void }
50
+ attr_writer :embedding_tokens
51
+
37
52
  # The performance information for a query.
38
53
  sig do
39
54
  params(
@@ -42,7 +57,9 @@ module Turbopuffer
42
57
  cache_temperature: String,
43
58
  exhaustive_search_count: Integer,
44
59
  query_execution_ms: Integer,
45
- server_total_ms: Integer
60
+ server_total_ms: Integer,
61
+ embedding_ms: Integer,
62
+ embedding_tokens: Integer
46
63
  ).returns(T.attached_class)
47
64
  end
48
65
  def self.new(
@@ -59,7 +76,12 @@ module Turbopuffer
59
76
  query_execution_ms:,
60
77
  # Request time measured on the server, including time spent waiting for other
61
78
  # queries to complete if the namespace was at its concurrency limit.
62
- server_total_ms:
79
+ server_total_ms:,
80
+ # Time spent embedding text, in milliseconds. Only set when using a native
81
+ # embedding model.
82
+ embedding_ms: nil,
83
+ # The number of tokens embedded. Only set when using a native embedding model.
84
+ embedding_tokens: nil
63
85
  )
64
86
  end
65
87
 
@@ -71,7 +93,9 @@ module Turbopuffer
71
93
  cache_temperature: String,
72
94
  exhaustive_search_count: Integer,
73
95
  query_execution_ms: Integer,
74
- server_total_ms: Integer
96
+ server_total_ms: Integer,
97
+ embedding_ms: Integer,
98
+ embedding_tokens: Integer
75
99
  }
76
100
  )
77
101
  end
@@ -12,15 +12,49 @@ module Turbopuffer
12
12
  sig { returns(Integer) }
13
13
  attr_accessor :server_total_ms
14
14
 
15
+ # Time spent embedding text, in milliseconds. Only set when using a native
16
+ # embedding model.
17
+ sig { returns(T.nilable(Integer)) }
18
+ attr_reader :embedding_ms
19
+
20
+ sig { params(embedding_ms: Integer).void }
21
+ attr_writer :embedding_ms
22
+
23
+ # The number of tokens embedded. Only set when using a native embedding model.
24
+ sig { returns(T.nilable(Integer)) }
25
+ attr_reader :embedding_tokens
26
+
27
+ sig { params(embedding_tokens: Integer).void }
28
+ attr_writer :embedding_tokens
29
+
15
30
  # The performance information for a write request.
16
- sig { params(server_total_ms: Integer).returns(T.attached_class) }
31
+ sig do
32
+ params(
33
+ server_total_ms: Integer,
34
+ embedding_ms: Integer,
35
+ embedding_tokens: Integer
36
+ ).returns(T.attached_class)
37
+ end
17
38
  def self.new(
18
39
  # Request time measured on the server, in milliseconds.
19
- server_total_ms:
40
+ server_total_ms:,
41
+ # Time spent embedding text, in milliseconds. Only set when using a native
42
+ # embedding model.
43
+ embedding_ms: nil,
44
+ # The number of tokens embedded. Only set when using a native embedding model.
45
+ embedding_tokens: nil
20
46
  )
21
47
  end
22
48
 
23
- sig { override.returns({ server_total_ms: Integer }) }
49
+ sig do
50
+ override.returns(
51
+ {
52
+ server_total_ms: Integer,
53
+ embedding_ms: Integer,
54
+ embedding_tokens: Integer
55
+ }
56
+ )
57
+ end
24
58
  def to_hash
25
59
  end
26
60
  end
@@ -88,16 +88,31 @@ module Turbopuffer
88
88
  def to_hash: -> { status: :"up-to-date" }
89
89
  end
90
90
 
91
- type index_updating = { status: :updating, unindexed_bytes: Integer }
91
+ type index_updating =
92
+ {
93
+ status: :updating,
94
+ unindexed_bytes: Integer,
95
+ unindexed_rows: Integer
96
+ }
92
97
 
93
98
  class IndexUpdating < Turbopuffer::Internal::Type::BaseModel
94
99
  attr_accessor status: :updating
95
100
 
96
101
  attr_accessor unindexed_bytes: Integer
97
102
 
98
- def initialize: (unindexed_bytes: Integer, ?status: :updating) -> void
103
+ attr_accessor unindexed_rows: Integer
99
104
 
100
- def to_hash: -> { status: :updating, unindexed_bytes: Integer }
105
+ def initialize: (
106
+ unindexed_bytes: Integer,
107
+ unindexed_rows: Integer,
108
+ ?status: :updating
109
+ ) -> void
110
+
111
+ def to_hash: -> {
112
+ status: :updating,
113
+ unindexed_bytes: Integer,
114
+ unindexed_rows: Integer
115
+ }
101
116
  end
102
117
 
103
118
  def self?.variants: -> ::Array[Turbopuffer::Models::NamespaceMetadata::index]
@@ -7,7 +7,9 @@ module Turbopuffer
7
7
  cache_temperature: String,
8
8
  exhaustive_search_count: Integer,
9
9
  query_execution_ms: Integer,
10
- server_total_ms: Integer
10
+ server_total_ms: Integer,
11
+ embedding_ms: Integer,
12
+ embedding_tokens: Integer
11
13
  }
12
14
 
13
15
  class QueryPerformance < Turbopuffer::Internal::Type::BaseModel
@@ -23,13 +25,23 @@ module Turbopuffer
23
25
 
24
26
  attr_accessor server_total_ms: Integer
25
27
 
28
+ attr_reader embedding_ms: Integer?
29
+
30
+ def embedding_ms=: (Integer) -> Integer
31
+
32
+ attr_reader embedding_tokens: Integer?
33
+
34
+ def embedding_tokens=: (Integer) -> Integer
35
+
26
36
  def initialize: (
27
37
  approx_namespace_size: Integer,
28
38
  cache_hit_ratio: Float,
29
39
  cache_temperature: String,
30
40
  exhaustive_search_count: Integer,
31
41
  query_execution_ms: Integer,
32
- server_total_ms: Integer
42
+ server_total_ms: Integer,
43
+ ?embedding_ms: Integer,
44
+ ?embedding_tokens: Integer
33
45
  ) -> void
34
46
 
35
47
  def to_hash: -> {
@@ -38,7 +50,9 @@ module Turbopuffer
38
50
  cache_temperature: String,
39
51
  exhaustive_search_count: Integer,
40
52
  query_execution_ms: Integer,
41
- server_total_ms: Integer
53
+ server_total_ms: Integer,
54
+ embedding_ms: Integer,
55
+ embedding_tokens: Integer
42
56
  }
43
57
  end
44
58
  end
@@ -1,13 +1,34 @@
1
1
  module Turbopuffer
2
2
  module Models
3
- type write_performance = { server_total_ms: Integer }
3
+ type write_performance =
4
+ {
5
+ server_total_ms: Integer,
6
+ embedding_ms: Integer,
7
+ embedding_tokens: Integer
8
+ }
4
9
 
5
10
  class WritePerformance < Turbopuffer::Internal::Type::BaseModel
6
11
  attr_accessor server_total_ms: Integer
7
12
 
8
- def initialize: (server_total_ms: Integer) -> void
13
+ attr_reader embedding_ms: Integer?
9
14
 
10
- def to_hash: -> { server_total_ms: Integer }
15
+ def embedding_ms=: (Integer) -> Integer
16
+
17
+ attr_reader embedding_tokens: Integer?
18
+
19
+ def embedding_tokens=: (Integer) -> Integer
20
+
21
+ def initialize: (
22
+ server_total_ms: Integer,
23
+ ?embedding_ms: Integer,
24
+ ?embedding_tokens: Integer
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ server_total_ms: Integer,
29
+ embedding_ms: Integer,
30
+ embedding_tokens: Integer
31
+ }
11
32
  end
12
33
  end
13
34
  end
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: 2.6.0
4
+ version: 2.7.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-10-07 00:00:00.000000000 Z
11
+ date: 2026-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi