kobako 0.12.0-aarch64-linux → 0.12.1-aarch64-linux

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: a35a9ff22a1006cd62a0c9c82d8f5caa6452c13ee5128d45dfb09a3ef7386180
4
- data.tar.gz: e9fca5dcb87500ef198b27379455011f771c9ec02db6a092e3b3e7a0ab783a68
3
+ metadata.gz: 3d480be9786ea4e836ec39bf80b704c07373a6a283ce3fd0e822799511430e28
4
+ data.tar.gz: fec449faec3e9072fa222948509c86bc8e3e401180c56c5b801bcebe8b73f36a
5
5
  SHA512:
6
- metadata.gz: 84b5ea5b3180625b9c840acceadc576d6fda8dbc44cb9296b4e73af19ed4254c54e3e1952b6ebb5d7730ce5918966b9aef1acb19ee7174b2e5b82ecba9971138
7
- data.tar.gz: 7348def65d395c83b566671b4b7d166480a87089856235dafa316d34f86724c1cd809614f516adc68d38a6fb1a9d836d0c610c3ada445e33bcf63b1e948b7721
6
+ metadata.gz: 56ea11910d7a393725f27ec696e271f71f69c0eb26d9fb20ee5001d3401e149a558ca248cdcc17cafb45ffa083df5a489e077906a126e2aa177ce570950eeb22
7
+ data.tar.gz: 2bd8f82df6f33072a177226ec9f9b11926bbe374cba1258b60b4510f5be493a598fe2e68c46b3fc87a6f3519857fa7695c0a1675a1655add87233de207664488
@@ -1 +1 @@
1
- {".":"0.12.0","wasm/kobako-core":"0.6.0","wasm/kobako":"0.6.0","wasm/kobako-io":"0.6.0","wasm/kobako-json":"0.6.0","wasm/kobako-regexp":"0.6.0","wasm/kobako-baker":"0.6.0"}
1
+ {".":"0.12.1","wasm/kobako-core":"0.6.0","wasm/kobako":"0.6.0","wasm/kobako-io":"0.6.0","wasm/kobako-json":"0.6.0","wasm/kobako-regexp":"0.6.0","wasm/kobako-baker":"0.6.0"}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.12.1](https://github.com/elct9620/kobako/compare/v0.12.0...v0.12.1) (2026-06-27)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **spec:** resolve nested Handle dispatch arguments symmetric with B-37 ([bb4ca9a](https://github.com/elct9620/kobako/commit/bb4ca9a0fef0f17a6e97a63a3ee4a3784961fbe2))
9
+ * **transport:** resolve nested Handle dispatch arguments to host objects ([de5b233](https://github.com/elct9620/kobako/commit/de5b233a2750684ce1c6cceb3d718da1194eabc1))
10
+
3
11
  ## [0.12.0](https://github.com/elct9620/kobako/compare/v0.11.2...v0.12.0) (2026-06-26)
4
12
 
5
13
 
Binary file
Binary file
Binary file
@@ -8,8 +8,7 @@ module Kobako
8
8
  # the host↔guest boundary. {deep_wrap} allocates a +Kobako::Handle+ for
9
9
  # each non-wire-representable leaf on the host→guest +#run+ argument
10
10
  # path; {deep_restore} resolves each wire-decoded Handle back to its
11
- # host object on every guest→host value path the +#eval+ / +#run+
12
- # result and the yield-block result alike. {representable?} is the
11
+ # host object on every guest→host value path. {representable?} is the
13
12
  # by-value codec-type predicate that decides which leaves {deep_wrap}
14
13
  # must wrap: the closed 12-entry wire type set
15
14
  # ({docs/wire-codec.md}[link:../../../docs/wire-codec.md] § Type
@@ -82,11 +81,11 @@ module Kobako
82
81
  # +Kobako::Handle+ leaf with the host-side object +handler+ resolves
83
82
  # it to. The symmetric inverse of {deep_wrap}: that walk allocates objects
84
83
  # into Handles on the host→guest argument path; this walk resolves
85
- # Handles back to their objects on every guest→host value path — the
86
- # +#eval+ / +#run+ result and the yield-block result alike. The walk
87
- # descends through Array elements and Hash keys and values one
88
- # structural level at a time; any non-Handle leaf passes through
89
- # unchanged.
84
+ # Handles back to their objects wherever a guest→host payload carries
85
+ # one an invocation result, a yield-block result, or a dispatch
86
+ # argument. The walk descends through Array elements and Hash keys and
87
+ # values one structural level at a time; any non-Handle leaf passes
88
+ # through unchanged.
90
89
  #
91
90
  # +value+ is a decoded Ruby value (a Handle here is a wire-decoded
92
91
  # +Kobako::Handle+, never a guest-forged one); +handler+ must
@@ -170,12 +170,14 @@ module Kobako
170
170
  raise UndefinedTargetError, "method #{name.inspect} is not exposed to the guest"
171
171
  end
172
172
 
173
- # A Kobako::Handle arriving as a positional or keyword
174
- # argument identifies a host-side object previously allocated by a prior
175
- # transport call's Handle wrap. Resolve it back to the Ruby object before
176
- # the dispatch reaches +public_send+.
173
+ # Resolve every Kobako::Handle in an argument bare or nested in an
174
+ # Array / Hash — back to its host object before the dispatch reaches
175
+ # +public_send+, symmetric with the guest→host return path. A Handle id
176
+ # with no live entry surfaces as an unrecognized target.
177
177
  def resolve_arg(value, handler)
178
- value.is_a?(Kobako::Handle) ? require_live_object!(value.id, handler) : value
178
+ Kobako::Codec::HandleWalk.deep_restore(value, handler)
179
+ rescue Kobako::SandboxError => e
180
+ raise UndefinedTargetError, e.message
179
181
  end
180
182
 
181
183
  # Resolve a Request target to the Ruby object the registry (or
@@ -190,7 +192,7 @@ module Kobako
190
192
  when String
191
193
  resolve_path(target, namespaces)
192
194
  when Kobako::Handle
193
- resolve_handle(target, handler)
195
+ require_live_object!(target.id, handler)
194
196
  end
195
197
  end
196
198
 
@@ -200,10 +202,6 @@ module Kobako
200
202
  raise UndefinedTargetError, e.message
201
203
  end
202
204
 
203
- def resolve_handle(handle, handler)
204
- require_live_object!(handle.id, handler)
205
- end
206
-
207
205
  # Resolve +id+ through the Catalog::Handles. An unknown id
208
206
  # surfaces as UndefinedTargetError.
209
207
  def require_live_object!(id, handler)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kobako
4
- VERSION = "0.12.0"
4
+ VERSION = "0.12.1"
5
5
  end
@@ -30,8 +30,6 @@ module Kobako
30
30
 
31
31
  def self?.resolve_path: (String path, Kobako::Catalog::Namespaces namespaces) -> untyped
32
32
 
33
- def self?.resolve_handle: (Kobako::Handle handle, Kobako::Catalog::Handles handler) -> untyped
34
-
35
33
  def self?.require_live_object!: (Integer id, Kobako::Catalog::Handles handler) -> untyped
36
34
 
37
35
  def self?.encode_ok: (untyped value, Kobako::Catalog::Handles handler) -> String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kobako
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Aotokitsuruya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-06-26 00:00:00.000000000 Z
11
+ date: 2026-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack