e2b 0.3.5 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71bb823dbcc8f1b7622aeb0ddfbb2535cab96fb26ac97409baa6d1f9a04c22be
4
- data.tar.gz: b978c0e71dce188c41a679780eef5fd9c20c8cb6e71d64a2c79290d1c7920632
3
+ metadata.gz: aed6247bb2a2574a54bf122fc012b545544d09480603f95ce82955aa01f8af4f
4
+ data.tar.gz: ad883cd0f0f95653ec413971ce49ccb291f5d1e8f91227166bf3cbf5fdbe4624
5
5
  SHA512:
6
- metadata.gz: b28d09048b6d48cd5ea1db1ed9dd505efb007c8ca4629c074dd28ca47efbe76d34a3928ae61b2346c4c5efacfc9df20b64a0dd68cff26db035e37a088bb712e2
7
- data.tar.gz: f65d80825693194d3ec3b2004a5f40c050fe571ca9e0baf91700bb9bdc53cf4a346d569828996234702ee61c39917fbf100ba5c203c2baa15ce5afe6ebf17f2a
6
+ metadata.gz: fec67dfcd0f0e416dfe836c5a98d19be3049766a122522df8aeb9709fa036b7ca8d5aae466250553c32aacea227e976f63a3535a22475dee716316caac4bacc8
7
+ data.tar.gz: 7c07977b43ce98bfac3267b1f4e25a2627b2caa2d1c632f43f115837b80c51c1d09e3f21d4ea747131e87e88be9433b19cb720aed3c093103e2f0d398479c9c7
@@ -243,15 +243,15 @@ module E2B
243
243
  # @yieldparam stderr [String, nil] Stderr data, or nil
244
244
  # @yieldparam pty [String, nil] PTY data, or nil
245
245
  # @return [void]
246
- def each(&block)
246
+ def each(&)
247
247
  return enum_for(:each) unless block_given?
248
248
 
249
249
  if @result
250
250
  # Iterate over pre-materialized events
251
- iterate_materialized_events(&block)
251
+ iterate_materialized_events(&)
252
252
  elsif @events_proc
253
253
  # Iterate over streaming events
254
- iterate_streaming_events(&block)
254
+ iterate_streaming_events(&)
255
255
  end
256
256
  end
257
257
 
@@ -298,7 +298,7 @@ module E2B
298
298
  #
299
299
  # @yield [stdout, stderr, pty]
300
300
  # @return [void]
301
- def iterate_materialized_events(&block)
301
+ def iterate_materialized_events(&)
302
302
  events = result_value(:events) || []
303
303
  while @materialized_event_index < events.length
304
304
  break if @disconnected
@@ -306,7 +306,7 @@ module E2B
306
306
  event_hash = events[@materialized_event_index]
307
307
  @materialized_event_index += 1
308
308
 
309
- process_message(event_hash, &block)
309
+ process_message(event_hash, &)
310
310
  end
311
311
  end
312
312
 
@@ -341,11 +341,11 @@ module E2B
341
341
  # @param message [Hash] A raw stream message
342
342
  # @yield [stdout, stderr, pty]
343
343
  # @return [void]
344
- def process_message(message, &block)
344
+ def process_message(message, &)
345
345
  return unless message.is_a?(Hash)
346
346
 
347
347
  event = message["event"]
348
- process_event(event, &block) if event.is_a?(Hash)
348
+ process_event(event, &) if event.is_a?(Hash)
349
349
 
350
350
  if event.nil?
351
351
  stdout_chunk = EnvdBase64.decode_process_output(message["stdout"])
data/lib/e2b/template.rb CHANGED
@@ -273,7 +273,15 @@ module E2B
273
273
  def upload_file(template, file_name:, url:, resolve_symlinks:, source_location: nil)
274
274
  tarball = build_tar_archive(template, file_name, resolve_symlinks: resolve_symlinks)
275
275
  response = Faraday.put(url) do |req|
276
- req.headers["Content-Type"] = "application/octet-stream"
276
+ # E2B returns a GCS V2 signed URL whose StringToSign carries
277
+ # an *empty* Content-Type. The signed value must match the
278
+ # value we send, so we set it explicitly to "" — neither
279
+ # "application/octet-stream" (signature mismatch on the
280
+ # signed Content-Type line) nor omitting the header (Faraday
281
+ # then defaults to "application/x-www-form-urlencoded",
282
+ # same mismatch). GCS returns 403 SignatureDoesNotMatch in
283
+ # both other cases.
284
+ req.headers["Content-Type"] = ""
277
285
  req.body = tarball
278
286
  end
279
287
 
data/lib/e2b/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module E2B
4
- VERSION = "0.3.5"
4
+ VERSION = "0.4.1"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: e2b
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tao Luo
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-05-10 00:00:00.000000000 Z
10
+ date: 2026-05-29 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: base64
@@ -187,7 +187,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
187
  requirements:
188
188
  - - ">="
189
189
  - !ruby/object:Gem::Version
190
- version: 3.0.0
190
+ version: 3.1.0
191
191
  required_rubygems_version: !ruby/object:Gem::Requirement
192
192
  requirements:
193
193
  - - ">="