kobako 0.11.2 → 0.12.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 +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +31 -0
- data/Cargo.lock +59 -59
- data/data/kobako.wasm +0 -0
- data/ext/kobako/Cargo.toml +1 -1
- data/lib/kobako/codec/handle_walk.rb +6 -7
- data/lib/kobako/transport/dispatcher.rb +8 -10
- data/lib/kobako/version.rb +1 -1
- data/release-please-config.json +16 -1
- data/sig/kobako/transport/dispatcher.rbs +0 -2
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b245ee235cc4309150a54ed8d5b8246216ebee7787fa103ebd70f7434797f3d8
|
|
4
|
+
data.tar.gz: b2857e6f02527c476b32e381886d20d73571b3fe2224907aea868223e0b13fee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8c612f87f0cb0665f4510f224eea4bd7a79cdae06df9aef287933296aba78b3ade6dc3849bdc3bc48dcccef1d8789125aac30ba265d33ce4f56dcbafa6635cd1
|
|
7
|
+
data.tar.gz: f1191f5e65a1448b8ff675fe34de83052d1a1b5ed6757dd448b9cc119c3790d6f78184706fe09eddffef27521b81dd9f365d49ca2aa19615c2c5beb7f744289d
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{".":"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,36 @@
|
|
|
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
|
+
|
|
11
|
+
## [0.12.0](https://github.com/elct9620/kobako/compare/v0.11.2...v0.12.0) (2026-06-26)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **bench:** inject the Guest Binary into probes via KOBAKO_BENCH_WASM ([3408058](https://github.com/elct9620/kobako/commit/3408058f5a4319725863dd3bd1b305cc4609bbf8))
|
|
17
|
+
* **kobako-json:** classify generate values by native mruby type ([f8e5de3](https://github.com/elct9620/kobako/commit/f8e5de3a2bdc0234290101734f2cceff88058cd6))
|
|
18
|
+
* **spec:** specify the guest JSON capability (B-52/B-53, docs/json.md) ([b666d6f](https://github.com/elct9620/kobako/commit/b666d6fecc230eef0b01ae34cdb9eab2bbc6b153))
|
|
19
|
+
* **wasm:** compose the json and full Guest Binary variants ([002b16d](https://github.com/elct9620/kobako/commit/002b16d88ea7c9dbf0493185bbac757b782bc28d))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* **bench:** correct results/baseline path depth after support dir move ([faf1d8a](https://github.com/elct9620/kobako/commit/faf1d8aaf185159edced2d421696c721da9ed15c))
|
|
25
|
+
* **spec:** classify Symbol as directly-encoded in JSON generate ([10a8671](https://github.com/elct9620/kobako/commit/10a867145ed8ccb0b0e2d8e61c0ae84ae0ef3399))
|
|
26
|
+
* **spec:** close the JSON Hash-key host-dispatch gap and refresh the anchor range ([aea1313](https://github.com/elct9620/kobako/commit/aea13133efc957c70f8ff3f77fd2164c634ebb86))
|
|
27
|
+
* **spec:** complete the JSON generate Hash-key partition and tighten wording ([b01a3f2](https://github.com/elct9620/kobako/commit/b01a3f26baf2e8364ff82a9d292b426444e0acd7))
|
|
28
|
+
* **spec:** keep B-52 from re-enumerating the JSON-carrying variants ([13a5723](https://github.com/elct9620/kobako/commit/13a57236e1b4b33c5e84caa8bb940a0b8560a6d0))
|
|
29
|
+
* **spec:** let pretty_generate own its layout instead of pinning CRuby ([bf78bf1](https://github.com/elct9620/kobako/commit/bf78bf1a8ab8e125f35eacf6e2151ec94f87d46b))
|
|
30
|
+
* **spec:** make the JSON depth bound consistent across parse and generate ([efdc535](https://github.com/elct9620/kobako/commit/efdc535f5e70f67efb8638abcd4b7b1881cedf35))
|
|
31
|
+
* **spec:** make variant pointers source-free and pin generate edge cases ([8aeeecd](https://github.com/elct9620/kobako/commit/8aeeecd674ba24f4caab3cc3ea4e905b182061b0))
|
|
32
|
+
* **spec:** note the full variant in regexp.md availability ([7e50f27](https://github.com/elct9620/kobako/commit/7e50f27a593ed8d8582f24961c8725fc252699b5))
|
|
33
|
+
|
|
3
34
|
## [0.11.2](https://github.com/elct9620/kobako/compare/v0.11.1...v0.11.2) (2026-06-24)
|
|
4
35
|
|
|
5
36
|
|
data/Cargo.lock
CHANGED
|
@@ -304,9 +304,9 @@ dependencies = [
|
|
|
304
304
|
|
|
305
305
|
[[package]]
|
|
306
306
|
name = "cranelift-bforest"
|
|
307
|
-
version = "0.132.
|
|
307
|
+
version = "0.132.2"
|
|
308
308
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
309
|
-
checksum = "
|
|
309
|
+
checksum = "4053fa2575ef4a5c35d2708533df2200400ae979226cea9cc92a578b811bd4e7"
|
|
310
310
|
dependencies = [
|
|
311
311
|
"cranelift-entity",
|
|
312
312
|
"wasmtime-internal-core",
|
|
@@ -314,9 +314,9 @@ dependencies = [
|
|
|
314
314
|
|
|
315
315
|
[[package]]
|
|
316
316
|
name = "cranelift-bitset"
|
|
317
|
-
version = "0.132.
|
|
317
|
+
version = "0.132.2"
|
|
318
318
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
319
|
-
checksum = "
|
|
319
|
+
checksum = "d216663191014aa63e1d2cffd058e609eaf207646d40b739d88250f65b2c4f69"
|
|
320
320
|
dependencies = [
|
|
321
321
|
"serde",
|
|
322
322
|
"serde_derive",
|
|
@@ -325,9 +325,9 @@ dependencies = [
|
|
|
325
325
|
|
|
326
326
|
[[package]]
|
|
327
327
|
name = "cranelift-codegen"
|
|
328
|
-
version = "0.132.
|
|
328
|
+
version = "0.132.2"
|
|
329
329
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
330
|
-
checksum = "
|
|
330
|
+
checksum = "9a5e7e7aad6a425a51da1ad7ab9e5d280ea97eb7c7c4545fafb567915a75aadb"
|
|
331
331
|
dependencies = [
|
|
332
332
|
"bumpalo",
|
|
333
333
|
"cranelift-assembler-x64",
|
|
@@ -353,9 +353,9 @@ dependencies = [
|
|
|
353
353
|
|
|
354
354
|
[[package]]
|
|
355
355
|
name = "cranelift-codegen-meta"
|
|
356
|
-
version = "0.132.
|
|
356
|
+
version = "0.132.2"
|
|
357
357
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
358
|
-
checksum = "
|
|
358
|
+
checksum = "c421d80a9a85f806cb02a2983b5b5368a335c319795b1f1b4b771a24479af5b0"
|
|
359
359
|
dependencies = [
|
|
360
360
|
"cranelift-assembler-x64-meta",
|
|
361
361
|
"cranelift-codegen-shared",
|
|
@@ -381,9 +381,9 @@ dependencies = [
|
|
|
381
381
|
|
|
382
382
|
[[package]]
|
|
383
383
|
name = "cranelift-entity"
|
|
384
|
-
version = "0.132.
|
|
384
|
+
version = "0.132.2"
|
|
385
385
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
386
|
-
checksum = "
|
|
386
|
+
checksum = "668e56db75a54816cbdd7c7b7bfc558b08bf7b2cda9d0846491517e92f3b393b"
|
|
387
387
|
dependencies = [
|
|
388
388
|
"cranelift-bitset",
|
|
389
389
|
"serde",
|
|
@@ -393,9 +393,9 @@ dependencies = [
|
|
|
393
393
|
|
|
394
394
|
[[package]]
|
|
395
395
|
name = "cranelift-frontend"
|
|
396
|
-
version = "0.132.
|
|
396
|
+
version = "0.132.2"
|
|
397
397
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
398
|
-
checksum = "
|
|
398
|
+
checksum = "c63892dc1cc3ae48680183fa66997f60ffe7f1e200c8d390f8ee66edff4aef5a"
|
|
399
399
|
dependencies = [
|
|
400
400
|
"cranelift-codegen",
|
|
401
401
|
"log",
|
|
@@ -405,15 +405,15 @@ dependencies = [
|
|
|
405
405
|
|
|
406
406
|
[[package]]
|
|
407
407
|
name = "cranelift-isle"
|
|
408
|
-
version = "0.132.
|
|
408
|
+
version = "0.132.2"
|
|
409
409
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
410
|
-
checksum = "
|
|
410
|
+
checksum = "94eaf429c32a12715429c7c6ddfdd43c170f4cdd7e97bfa507bd68a652091087"
|
|
411
411
|
|
|
412
412
|
[[package]]
|
|
413
413
|
name = "cranelift-native"
|
|
414
|
-
version = "0.132.
|
|
414
|
+
version = "0.132.2"
|
|
415
415
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
416
|
-
checksum = "
|
|
416
|
+
checksum = "cd77674904ae9be11c1e1efdba54788b59f3d6658d747b97534bfbba2909aacc"
|
|
417
417
|
dependencies = [
|
|
418
418
|
"cranelift-codegen",
|
|
419
419
|
"libc",
|
|
@@ -922,7 +922,7 @@ dependencies = [
|
|
|
922
922
|
|
|
923
923
|
[[package]]
|
|
924
924
|
name = "kobako"
|
|
925
|
-
version = "0.
|
|
925
|
+
version = "0.12.1"
|
|
926
926
|
dependencies = [
|
|
927
927
|
"libc",
|
|
928
928
|
"magnus",
|
|
@@ -1141,9 +1141,9 @@ dependencies = [
|
|
|
1141
1141
|
|
|
1142
1142
|
[[package]]
|
|
1143
1143
|
name = "pulley-interpreter"
|
|
1144
|
-
version = "45.0.
|
|
1144
|
+
version = "45.0.2"
|
|
1145
1145
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1146
|
-
checksum = "
|
|
1146
|
+
checksum = "2d9880c1985ccccaed3646b0ef793dc39a4b117403ed4afc6fa3ef6027c5200f"
|
|
1147
1147
|
dependencies = [
|
|
1148
1148
|
"cranelift-bitset",
|
|
1149
1149
|
"log",
|
|
@@ -1153,9 +1153,9 @@ dependencies = [
|
|
|
1153
1153
|
|
|
1154
1154
|
[[package]]
|
|
1155
1155
|
name = "pulley-macros"
|
|
1156
|
-
version = "45.0.
|
|
1156
|
+
version = "45.0.2"
|
|
1157
1157
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1158
|
-
checksum = "
|
|
1158
|
+
checksum = "ee249346855ad102580e474da5463f86f8a7d449e6d49e00fefb304e448e2983"
|
|
1159
1159
|
dependencies = [
|
|
1160
1160
|
"proc-macro2",
|
|
1161
1161
|
"quote",
|
|
@@ -1751,9 +1751,9 @@ dependencies = [
|
|
|
1751
1751
|
|
|
1752
1752
|
[[package]]
|
|
1753
1753
|
name = "wasmtime"
|
|
1754
|
-
version = "45.0.
|
|
1754
|
+
version = "45.0.2"
|
|
1755
1755
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1756
|
-
checksum = "
|
|
1756
|
+
checksum = "5c7ce9aa2c67f75fadcfdc6aa9097d03e7c39485dfe316f2ed6a7c0fd186c527"
|
|
1757
1757
|
dependencies = [
|
|
1758
1758
|
"addr2line",
|
|
1759
1759
|
"async-trait",
|
|
@@ -1795,9 +1795,9 @@ dependencies = [
|
|
|
1795
1795
|
|
|
1796
1796
|
[[package]]
|
|
1797
1797
|
name = "wasmtime-environ"
|
|
1798
|
-
version = "45.0.
|
|
1798
|
+
version = "45.0.2"
|
|
1799
1799
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1800
|
-
checksum = "
|
|
1800
|
+
checksum = "c8fb157bd1fbf689ac89d570433a700db6f33bdfcb5ffc30e3f1c49e4c70de71"
|
|
1801
1801
|
dependencies = [
|
|
1802
1802
|
"anyhow",
|
|
1803
1803
|
"cpp_demangle",
|
|
@@ -1826,9 +1826,9 @@ dependencies = [
|
|
|
1826
1826
|
|
|
1827
1827
|
[[package]]
|
|
1828
1828
|
name = "wasmtime-internal-component-macro"
|
|
1829
|
-
version = "45.0.
|
|
1829
|
+
version = "45.0.2"
|
|
1830
1830
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1831
|
-
checksum = "
|
|
1831
|
+
checksum = "b96c17f35fae2ab574667aba0c58fd56349a6f788ac42541a2e543116d5cfb91"
|
|
1832
1832
|
dependencies = [
|
|
1833
1833
|
"anyhow",
|
|
1834
1834
|
"proc-macro2",
|
|
@@ -1841,15 +1841,15 @@ dependencies = [
|
|
|
1841
1841
|
|
|
1842
1842
|
[[package]]
|
|
1843
1843
|
name = "wasmtime-internal-component-util"
|
|
1844
|
-
version = "45.0.
|
|
1844
|
+
version = "45.0.2"
|
|
1845
1845
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1846
|
-
checksum = "
|
|
1846
|
+
checksum = "9d2eeb9b53222859e6f5dc73d2ccfb33254d672469cac11b693a71912e2f3817"
|
|
1847
1847
|
|
|
1848
1848
|
[[package]]
|
|
1849
1849
|
name = "wasmtime-internal-core"
|
|
1850
|
-
version = "45.0.
|
|
1850
|
+
version = "45.0.2"
|
|
1851
1851
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1852
|
-
checksum = "
|
|
1852
|
+
checksum = "4a1deaf6bc3430abd7497b00c64f06ca2b97ca0fe41af87836446ca30949965c"
|
|
1853
1853
|
dependencies = [
|
|
1854
1854
|
"hashbrown 0.17.0",
|
|
1855
1855
|
"libm",
|
|
@@ -1858,9 +1858,9 @@ dependencies = [
|
|
|
1858
1858
|
|
|
1859
1859
|
[[package]]
|
|
1860
1860
|
name = "wasmtime-internal-cranelift"
|
|
1861
|
-
version = "45.0.
|
|
1861
|
+
version = "45.0.2"
|
|
1862
1862
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1863
|
-
checksum = "
|
|
1863
|
+
checksum = "b845f83b5b04b11bc48329b53eb4fa8cf9f28a43c71ed8e1203f68ffa9806d1b"
|
|
1864
1864
|
dependencies = [
|
|
1865
1865
|
"cfg-if",
|
|
1866
1866
|
"cranelift-codegen",
|
|
@@ -1885,9 +1885,9 @@ dependencies = [
|
|
|
1885
1885
|
|
|
1886
1886
|
[[package]]
|
|
1887
1887
|
name = "wasmtime-internal-fiber"
|
|
1888
|
-
version = "45.0.
|
|
1888
|
+
version = "45.0.2"
|
|
1889
1889
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1890
|
-
checksum = "
|
|
1890
|
+
checksum = "e10c8466f72965ae85c250f90aaa7992c089a2f8502009bd0d2c9e7d6409174a"
|
|
1891
1891
|
dependencies = [
|
|
1892
1892
|
"cc",
|
|
1893
1893
|
"cfg-if",
|
|
@@ -1900,9 +1900,9 @@ dependencies = [
|
|
|
1900
1900
|
|
|
1901
1901
|
[[package]]
|
|
1902
1902
|
name = "wasmtime-internal-jit-debug"
|
|
1903
|
-
version = "45.0.
|
|
1903
|
+
version = "45.0.2"
|
|
1904
1904
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1905
|
-
checksum = "
|
|
1905
|
+
checksum = "1d3adfecf5621b14d8f8871f4cb4ed9f844197b1ddefc702ef4c859552cd9551"
|
|
1906
1906
|
dependencies = [
|
|
1907
1907
|
"cc",
|
|
1908
1908
|
"wasmtime-internal-versioned-export-macros",
|
|
@@ -1910,9 +1910,9 @@ dependencies = [
|
|
|
1910
1910
|
|
|
1911
1911
|
[[package]]
|
|
1912
1912
|
name = "wasmtime-internal-jit-icache-coherence"
|
|
1913
|
-
version = "45.0.
|
|
1913
|
+
version = "45.0.2"
|
|
1914
1914
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1915
|
-
checksum = "
|
|
1915
|
+
checksum = "08d3c1e9fb618ec45c9b3477ea683cd37bee427273d7b13bba5c66a1caaf1dd6"
|
|
1916
1916
|
dependencies = [
|
|
1917
1917
|
"cfg-if",
|
|
1918
1918
|
"libc",
|
|
@@ -1922,9 +1922,9 @@ dependencies = [
|
|
|
1922
1922
|
|
|
1923
1923
|
[[package]]
|
|
1924
1924
|
name = "wasmtime-internal-unwinder"
|
|
1925
|
-
version = "45.0.
|
|
1925
|
+
version = "45.0.2"
|
|
1926
1926
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1927
|
-
checksum = "
|
|
1927
|
+
checksum = "7aa91132b81f1e172ec7e7c3c114ac34209ee6b3524b3a8d6943af99803f66c5"
|
|
1928
1928
|
dependencies = [
|
|
1929
1929
|
"cfg-if",
|
|
1930
1930
|
"cranelift-codegen",
|
|
@@ -1935,9 +1935,9 @@ dependencies = [
|
|
|
1935
1935
|
|
|
1936
1936
|
[[package]]
|
|
1937
1937
|
name = "wasmtime-internal-versioned-export-macros"
|
|
1938
|
-
version = "45.0.
|
|
1938
|
+
version = "45.0.2"
|
|
1939
1939
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1940
|
-
checksum = "
|
|
1940
|
+
checksum = "6ea811ffe23f597cc7708327ea25d9eb018dcf760ffe15ccb7d0b27ad635de61"
|
|
1941
1941
|
dependencies = [
|
|
1942
1942
|
"proc-macro2",
|
|
1943
1943
|
"quote",
|
|
@@ -1946,9 +1946,9 @@ dependencies = [
|
|
|
1946
1946
|
|
|
1947
1947
|
[[package]]
|
|
1948
1948
|
name = "wasmtime-internal-winch"
|
|
1949
|
-
version = "45.0.
|
|
1949
|
+
version = "45.0.2"
|
|
1950
1950
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1951
|
-
checksum = "
|
|
1951
|
+
checksum = "828b66175c54a0d00b4c1c1c76658d8aa73aeb9fa3553575c5eee56d40f2eb18"
|
|
1952
1952
|
dependencies = [
|
|
1953
1953
|
"cranelift-codegen",
|
|
1954
1954
|
"gimli",
|
|
@@ -1963,9 +1963,9 @@ dependencies = [
|
|
|
1963
1963
|
|
|
1964
1964
|
[[package]]
|
|
1965
1965
|
name = "wasmtime-internal-wit-bindgen"
|
|
1966
|
-
version = "45.0.
|
|
1966
|
+
version = "45.0.2"
|
|
1967
1967
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1968
|
-
checksum = "
|
|
1968
|
+
checksum = "4ae00896ad9bef1b3ca6401ae9a841daa6f357dd91541b6baf87082946d1bde1"
|
|
1969
1969
|
dependencies = [
|
|
1970
1970
|
"anyhow",
|
|
1971
1971
|
"bitflags",
|
|
@@ -1976,9 +1976,9 @@ dependencies = [
|
|
|
1976
1976
|
|
|
1977
1977
|
[[package]]
|
|
1978
1978
|
name = "wasmtime-wasi"
|
|
1979
|
-
version = "45.0.
|
|
1979
|
+
version = "45.0.2"
|
|
1980
1980
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1981
|
-
checksum = "
|
|
1981
|
+
checksum = "6032ceffcb74cf30a2cdac298a4d6ce219058f08479ce1ab38434aadc044000b"
|
|
1982
1982
|
dependencies = [
|
|
1983
1983
|
"async-trait",
|
|
1984
1984
|
"bitflags",
|
|
@@ -2006,9 +2006,9 @@ dependencies = [
|
|
|
2006
2006
|
|
|
2007
2007
|
[[package]]
|
|
2008
2008
|
name = "wasmtime-wasi-io"
|
|
2009
|
-
version = "45.0.
|
|
2009
|
+
version = "45.0.2"
|
|
2010
2010
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2011
|
-
checksum = "
|
|
2011
|
+
checksum = "25b6e6868e5b93e1e10983a17afb631b39c236d8b6b4abe9faffe78f1ee0c6e7"
|
|
2012
2012
|
dependencies = [
|
|
2013
2013
|
"async-trait",
|
|
2014
2014
|
"bytes",
|
|
@@ -2050,9 +2050,9 @@ dependencies = [
|
|
|
2050
2050
|
|
|
2051
2051
|
[[package]]
|
|
2052
2052
|
name = "wiggle"
|
|
2053
|
-
version = "45.0.
|
|
2053
|
+
version = "45.0.2"
|
|
2054
2054
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2055
|
-
checksum = "
|
|
2055
|
+
checksum = "176527a028d6a426a514e3ca650c251a60541cde26df421f781339f27553ff9f"
|
|
2056
2056
|
dependencies = [
|
|
2057
2057
|
"bitflags",
|
|
2058
2058
|
"thiserror 2.0.18",
|
|
@@ -2064,9 +2064,9 @@ dependencies = [
|
|
|
2064
2064
|
|
|
2065
2065
|
[[package]]
|
|
2066
2066
|
name = "wiggle-generate"
|
|
2067
|
-
version = "45.0.
|
|
2067
|
+
version = "45.0.2"
|
|
2068
2068
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2069
|
-
checksum = "
|
|
2069
|
+
checksum = "604976b16d40f15606ae47ca22473c7574b317a6445ea2e3986f834a2ca0f449"
|
|
2070
2070
|
dependencies = [
|
|
2071
2071
|
"heck",
|
|
2072
2072
|
"proc-macro2",
|
|
@@ -2078,9 +2078,9 @@ dependencies = [
|
|
|
2078
2078
|
|
|
2079
2079
|
[[package]]
|
|
2080
2080
|
name = "wiggle-macro"
|
|
2081
|
-
version = "45.0.
|
|
2081
|
+
version = "45.0.2"
|
|
2082
2082
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2083
|
-
checksum = "
|
|
2083
|
+
checksum = "f7252f1689c33cf77cfac6115047c6a8b53f188c25c644f7856ad66c881c4077"
|
|
2084
2084
|
dependencies = [
|
|
2085
2085
|
"proc-macro2",
|
|
2086
2086
|
"quote",
|
|
@@ -2099,9 +2099,9 @@ dependencies = [
|
|
|
2099
2099
|
|
|
2100
2100
|
[[package]]
|
|
2101
2101
|
name = "winch-codegen"
|
|
2102
|
-
version = "45.0.
|
|
2102
|
+
version = "45.0.2"
|
|
2103
2103
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2104
|
-
checksum = "
|
|
2104
|
+
checksum = "89c09acfdfa281b3340e1e94ef3cf6618d69eab975280f881e154c29f49419c1"
|
|
2105
2105
|
dependencies = [
|
|
2106
2106
|
"cranelift-assembler-x64",
|
|
2107
2107
|
"cranelift-codegen",
|
data/data/kobako.wasm
CHANGED
|
Binary file
|
data/ext/kobako/Cargo.toml
CHANGED
|
@@ -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
|
|
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
|
|
86
|
-
#
|
|
87
|
-
# descends through Array elements and Hash keys and
|
|
88
|
-
# structural level at a time; any non-Handle leaf passes
|
|
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
|
-
#
|
|
174
|
-
#
|
|
175
|
-
#
|
|
176
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
data/lib/kobako/version.rb
CHANGED
data/release-please-config.json
CHANGED
|
@@ -74,6 +74,21 @@
|
|
|
74
74
|
}
|
|
75
75
|
]
|
|
76
76
|
},
|
|
77
|
+
"wasm/kobako-json": {
|
|
78
|
+
"component": "kobako-json",
|
|
79
|
+
"release-type": "rust",
|
|
80
|
+
"extra-files": [
|
|
81
|
+
{
|
|
82
|
+
"type": "toml",
|
|
83
|
+
"path": "/wasm/Cargo.lock",
|
|
84
|
+
"jsonpath": "$.package[?(@.name=='kobako-json')].version"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "generic",
|
|
88
|
+
"path": "/wasm/kobako-json/README.md"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
77
92
|
"wasm/kobako-baker": {
|
|
78
93
|
"component": "kobako-baker",
|
|
79
94
|
"release-type": "rust",
|
|
@@ -94,7 +109,7 @@
|
|
|
94
109
|
{
|
|
95
110
|
"type": "linked-versions",
|
|
96
111
|
"groupName": "kobako guest crates",
|
|
97
|
-
"components": ["kobako-core", "kobako-rs", "kobako-io", "kobako-regexp", "kobako-baker"]
|
|
112
|
+
"components": ["kobako-core", "kobako-rs", "kobako-io", "kobako-json", "kobako-regexp", "kobako-baker"]
|
|
98
113
|
}
|
|
99
114
|
],
|
|
100
115
|
"extra-files": [
|
|
@@ -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
|