kobako 0.22.0 → 0.25.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 +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +96 -0
- data/Cargo.lock +160 -114
- data/README.md +19 -18
- data/ROADMAP.md +12 -12
- data/crates/kobako-runtime/CHANGELOG.md +7 -0
- data/crates/kobako-runtime/Cargo.toml +2 -2
- data/crates/kobako-runtime/README.md +1 -1
- data/crates/kobako-runtime/src/profile.rs +2 -2
- data/crates/kobako-transport/CHANGELOG.md +7 -0
- data/crates/kobako-transport/Cargo.toml +1 -1
- data/crates/kobako-transport/README.md +1 -1
- data/crates/kobako-transport/src/abi.rs +2 -0
- data/crates/kobako-transport/src/envelope/bytes.rs +6 -0
- data/crates/kobako-transport/src/envelope/call.rs +9 -0
- data/crates/kobako-transport/src/envelope/error_record.rs +3 -0
- data/crates/kobako-transport/src/envelope/fault.rs +5 -0
- data/crates/kobako-transport/src/envelope/invocation_frames.rs +9 -0
- data/crates/kobako-transport/src/envelope/outcome.rs +11 -0
- data/crates/kobako-transport/src/envelope/reply.rs +9 -0
- data/crates/kobako-transport/src/envelope/run.rs +3 -0
- data/crates/kobako-wasmtime/CHANGELOG.md +9 -0
- data/crates/kobako-wasmtime/Cargo.toml +5 -5
- data/crates/kobako-wasmtime/README.md +1 -1
- data/crates/kobako-wasmtime/src/ambient.rs +2 -0
- data/crates/kobako-wasmtime/src/capture.rs +8 -0
- data/crates/kobako-wasmtime/src/frames.rs +3 -1
- data/crates/kobako-wasmtime/src/guest_mem.rs +8 -0
- data/crates/kobako-wasmtime/src/invocation.rs +10 -0
- data/crates/kobako-wasmtime/src/trap.rs +6 -0
- data/data/kobako.wasm +0 -0
- data/ext/kobako/Cargo.toml +1 -1
- data/lib/kobako/capture.rb +8 -22
- data/lib/kobako/catalog/handles.rb +40 -13
- data/lib/kobako/catalog/services.rb +9 -7
- data/lib/kobako/context.rb +8 -8
- data/lib/kobako/handle.rb +10 -40
- data/lib/kobako/sandbox.rb +5 -0
- data/lib/kobako/transport/dispatcher.rb +28 -26
- data/lib/kobako/transport/exposure.rb +100 -0
- data/lib/kobako/transport/reflection.rb +40 -27
- data/lib/kobako/transport.rb +4 -2
- data/lib/kobako/usage.rb +11 -22
- data/lib/kobako/version.rb +1 -1
- data/release-please-config.json +1 -1
- data/sig/kobako/catalog/handles.rbs +2 -0
- data/sig/kobako/catalog/services.rbs +1 -1
- data/sig/kobako/context.rbs +1 -1
- data/sig/kobako/transport/dispatcher.rbs +7 -7
- data/sig/kobako/transport/exposure.rbs +43 -0
- data/sig/kobako/transport/reflection.rbs +2 -2
- data/sig/kobako/transport.rbs +11 -1
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a91b58cc6bac93dda7c202271315e49d20edd866905f506d74ad5a102ca7ba1f
|
|
4
|
+
data.tar.gz: 0205b45a1aad4a5e85be647f977d58385f4706bfbe0b02456571f73bb815f4e0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 96b6103795bd339b1f02e792064036d0b689a519dbcd5f875c3a72c14ce77cf36c5970d51178ac780835713077673e2679db4ffb71c77b03389e69c6c6e776a2
|
|
7
|
+
data.tar.gz: 3a3c370d95055acb91d4481785474ec26170d4ec8088730dfdcbc45edd825e3d54e99160370382e5387f490a677e9ad55c5fd74659b9bcc24a315481eb9c68ee
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{".":"0.
|
|
1
|
+
{".":"0.25.0","wasm/kobako-core":"0.15.0","wasm/kobako-mruby":"0.15.0","wasm/kobako-io":"0.15.0","wasm/kobako-json":"0.15.0","wasm/kobako-regexp":"0.15.0","wasm/kobako-baker":"0.15.0","crates/kobako-transport":"0.15.0","crates/kobako-codec":"0.15.0","crates/kobako-runtime":"0.15.0","crates/kobako-wasmtime":"0.15.0","crates/kobako":"0.15.0"}
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,101 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.25.0](https://github.com/elct9620/kobako/compare/v0.24.0...v0.25.0) (2026-09-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* **gem:** a bound object or Capability Handle now exposes to the guest only the public methods its own class and the object itself define in source. Methods inherited from a superclass, mixed in from a module, or built into Ruby (a StringIO's #read, a Struct's member writers) are refused as undefined targets, as are names a method_missing Service answers dynamically, and a class, module, or forwarder bound directly exposes nothing. To keep a method reachable, define it on the bound object's own class, or give the object a private respond_to_guest?(name) that answers true for the names the guest may call — it replaces the default rather than narrowing it.
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **spec:** expose only what an object defines itself unless it narrows ([e199479](https://github.com/elct9620/kobako/commit/e1994798cbb06902a1073faa38acd60e15e28da7))
|
|
13
|
+
* **transport:** expose only what a bound object defines itself ([3086d5b](https://github.com/elct9620/kobako/commit/3086d5b88a7f3a984fb5e93571d1ff66a8e55c2d))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **release:** name the gem's version file so a release bumps it ([6df0467](https://github.com/elct9620/kobako/commit/6df0467e71332c24e30973c37a7e12e71929c07c))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Documentation
|
|
22
|
+
|
|
23
|
+
* **gem:** state what a bound object exposes to the guest ([d9c5de8](https://github.com/elct9620/kobako/commit/d9c5de813ce9a970fb9b14e4401d3db752ea39f4))
|
|
24
|
+
|
|
25
|
+
## [0.24.0](https://github.com/elct9620/kobako/compare/v0.23.0...v0.24.0) (2026-09-13)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **mruby:** upgrade beni to 0.14 and locate a parse failure ([586c910](https://github.com/elct9620/kobako/commit/586c910873710169c0dfce1fe7edb21f9e91cdea))
|
|
31
|
+
* **spec:** account for every boundary and isolation behavior ([226a563](https://github.com/elct9620/kobako/commit/226a5637350f3561e93b56d2acc5571c75447fb6))
|
|
32
|
+
* **spec:** account for every dispatch behavior the old anchors stated ([524b0ba](https://github.com/elct9620/kobako/commit/524b0ba7024e3a5a05d883fd0529c7abd53649a4))
|
|
33
|
+
* **spec:** account for every error scenario the old anchors stated ([179de50](https://github.com/elct9620/kobako/commit/179de5040c54bf3800d3d6ba02b56cf4eaed685b))
|
|
34
|
+
* **spec:** account for every lifecycle and invocation behavior ([75dc57f](https://github.com/elct9620/kobako/commit/75dc57f833a9933bd42ad55f48a6ed25f579826d))
|
|
35
|
+
* **spec:** account for every regexp and JSON behavior the old anchors stated ([9f93e59](https://github.com/elct9620/kobako/commit/9f93e599b5bf8dd2aefedcc856ec1d634a8179c7))
|
|
36
|
+
* **spec:** account for every registration and Extension behavior ([8750cba](https://github.com/elct9620/kobako/commit/8750cbae0901d8f1e4b6a22b90a70cc5bc6fff79))
|
|
37
|
+
* **spec:** account for every yield, runtime, and pool behavior ([29a7824](https://github.com/elct9620/kobako/commit/29a7824abcaa539b451d4b38a0bb6a2876c32f75))
|
|
38
|
+
* **spec:** bring the Rust frontend under the behaviors it answers ([b62243f](https://github.com/elct9620/kobako/commit/b62243f68b338fd219136d60c9cf760d0be03fc0))
|
|
39
|
+
* **spec:** declare every behavior the parity harness compares ([94f044a](https://github.com/elct9620/kobako/commit/94f044afa5ef84f05b868587101b15faa486b039))
|
|
40
|
+
* **spec:** declare how a dispatch binds its arguments and reports what will not ([d5af2d8](https://github.com/elct9620/kobako/commit/d5af2d8c863f91c7916d9c5ed4ee8ac415c849b1))
|
|
41
|
+
* **spec:** declare that both frontends refuse a late registration ([3aac1d0](https://github.com/elct9620/kobako/commit/3aac1d094ee4f3b3017760892c62d4fcee49f34b))
|
|
42
|
+
* **spec:** declare the boundary's value fidelity and its outbound refusals ([505845c](https://github.com/elct9620/kobako/commit/505845cb02e6d5dd94886cc2256708a9058b4c7f))
|
|
43
|
+
* **spec:** declare the bytes both sides must already agree on ([3875755](https://github.com/elct9620/kobako/commit/3875755999550511837808dcd24a25086bedc926))
|
|
44
|
+
* **spec:** declare the form each value takes on the payload wire ([2ceee24](https://github.com/elct9620/kobako/commit/2ceee24df27b0fbe07c29d33830e8be49593f260))
|
|
45
|
+
* **spec:** declare the options a runtime will not build with ([1bbd018](https://github.com/elct9620/kobako/commit/1bbd018c05099b0501334292dd03e17ffb040c46))
|
|
46
|
+
* **spec:** declare the three ways a yield ends badly ([c1b9024](https://github.com/elct9620/kobako/commit/c1b9024416d5c3a2f52c6137621a2656cf95fd1d))
|
|
47
|
+
* **spec:** declare the walks a Host App takes end to end ([f5012a1](https://github.com/elct9620/kobako/commit/f5012a1a8a5ea7abe1db28a9a4039648c4bc4041))
|
|
48
|
+
* **spec:** declare what a capture holds and what mints a reference ([7cf8afe](https://github.com/elct9620/kobako/commit/7cf8afe1b643ebd7225998bf101219a0ab8421fd))
|
|
49
|
+
* **spec:** declare what a decode says about the references it read ([4cff987](https://github.com/elct9620/kobako/commit/4cff98751eb75e9316048d8b0820c5bb423d86a8))
|
|
50
|
+
* **spec:** declare what a Pool refuses and what it raises ([b5cec2d](https://github.com/elct9620/kobako/commit/b5cec2d2d1083d49cdfd8ab5dc46ef164ea30aa7))
|
|
51
|
+
* **spec:** declare what a preload and an entrypoint refuse ([299c177](https://github.com/elct9620/kobako/commit/299c1771cfaef57023b277bfd01a347f23908354))
|
|
52
|
+
* **spec:** declare what a run refuses before the guest is reached ([073f801](https://github.com/elct9620/kobako/commit/073f801f1b37a82d4b6bfd9f574f2c2cce49889c))
|
|
53
|
+
* **spec:** declare what an invocation settles into and who it is attributed to ([02a5b38](https://github.com/elct9620/kobako/commit/02a5b38eb256027db53aaa0c8dc5a97d4e2ae927))
|
|
54
|
+
* **spec:** declare what bind refuses ([1b5dce3](https://github.com/elct9620/kobako/commit/1b5dce30eb418a1a2deb6e690d43ba3a4d04a675))
|
|
55
|
+
* **spec:** declare what install refuses and when the check fires ([1032921](https://github.com/elct9620/kobako/commit/1032921f7e5d1e1c53fbf2d1c6ec46240d1ff768))
|
|
56
|
+
* **spec:** declare what the driver holds a run to ([4539cc1](https://github.com/elct9620/kobako/commit/4539cc16a7ddb6c1706c36282e64182bb480b684))
|
|
57
|
+
* **spec:** declare what the guest answers when a value will not cross ([886a16f](https://github.com/elct9620/kobako/commit/886a16f173efe44766dd9884ac8bfed61113728a))
|
|
58
|
+
* **spec:** declare what the payload wire carries and what it will not ([341fd40](https://github.com/elct9620/kobako/commit/341fd40ce60373858002205ad5a77618e6cbb520))
|
|
59
|
+
* **spec:** declare what the runtime keeps on disk and hands back ([e2f71de](https://github.com/elct9620/kobako/commit/e2f71de89a31dc968950d2c32815193090156d73))
|
|
60
|
+
* **spec:** let both payload implementations answer for one table ([5368ee7](https://github.com/elct9620/kobako/commit/5368ee790d0e8fc0c8e7d6b6222d55da11a7f05c))
|
|
61
|
+
* **spec:** locate a parse failure and name the class a bytecode load answers ([b9a04b7](https://github.com/elct9620/kobako/commit/b9a04b7b72cfc4a207d4540839e24475bbaa0313))
|
|
62
|
+
* **spec:** make Markdown the specification's source ([8d4e56b](https://github.com/elct9620/kobako/commit/8d4e56b18ae8118a2251f60fdbd8b917e5f60ebe))
|
|
63
|
+
* **spec:** register the calls each frontend keeps ([dc2285e](https://github.com/elct9620/kobako/commit/dc2285edd275185be35700cd3aec67abd253b8c7))
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
### Bug Fixes
|
|
67
|
+
|
|
68
|
+
* **release:** let a gem-only release create its tag ([d65c451](https://github.com/elct9620/kobako/commit/d65c4513d30aacb11d0c008d28791355d8da13b7))
|
|
69
|
+
* **sdk:** refuse a Service path that is already a name ([8362f46](https://github.com/elct9620/kobako/commit/8362f46d80791baab23c86996d42bb80b9a2186a))
|
|
70
|
+
* **spec:** claim the scenario each test actually witnesses ([ab92e8b](https://github.com/elct9620/kobako/commit/ab92e8b9f5948f16fb86e517b9501598d76e4b89))
|
|
71
|
+
* **spec:** keep the two record-free arms cited on the anchor track ([9eec1b6](https://github.com/elct9620/kobako/commit/9eec1b6696c8ff0d5e1d63bb29c9637dd52bdb52))
|
|
72
|
+
* **transport:** keep a transparent forwarder off the guest boundary ([e789a4e](https://github.com/elct9620/kobako/commit/e789a4e618643209f289ee664d36f256970c4d62))
|
|
73
|
+
|
|
74
|
+
## [0.23.0](https://github.com/elct9620/kobako/compare/v0.22.0...v0.23.0) (2026-08-28)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### Features
|
|
78
|
+
|
|
79
|
+
* **spec:** declare the boot state two invocations share, and what a callback raise costs ([d94fffc](https://github.com/elct9620/kobako/commit/d94fffc59a3142cb28e0025a0dc8c792f7282074))
|
|
80
|
+
* **spec:** declare the dispatch boundary one observation at a time ([f11b280](https://github.com/elct9620/kobako/commit/f11b280ef503c20d5b75d7b1c4187d261f60ef27))
|
|
81
|
+
* **spec:** declare the guest's pattern surface one observation at a time ([a477818](https://github.com/elct9620/kobako/commit/a477818f8fa505fdcd8ea1fd1051a74c0ba08155))
|
|
82
|
+
* **spec:** declare the Pool's behavior where its tests can claim it ([5ec5e4b](https://github.com/elct9620/kobako/commit/5ec5e4b41f44db05520a251ff6979e71efd27866))
|
|
83
|
+
* **spec:** declare the two descriptors a guest may write to, and how ([c15d09a](https://github.com/elct9620/kobako/commit/c15d09ab563947ab02bbe31129e88686fcff5c24))
|
|
84
|
+
* **spec:** declare the value shapes and the generated concurrency programs ([a06ae5b](https://github.com/elct9620/kobako/commit/a06ae5b24b4615c22c2abaae08c7029218da08bd))
|
|
85
|
+
* **spec:** declare what a Sandbox is built with and what each run leaves behind ([8cc6ac8](https://github.com/elct9620/kobako/commit/8cc6ac81713da7fc6ba6c89bc24da75406579aec))
|
|
86
|
+
* **spec:** declare what installing an Extension composes and resolves ([3cce5a6](https://github.com/elct9620/kobako/commit/3cce5a6551ae8710df71d7520a689c13630ee111))
|
|
87
|
+
* **spec:** declare what the guest's JSON surface reads, writes and refuses ([7e9e3b3](https://github.com/elct9620/kobako/commit/7e9e3b3897ae5f5dc7d6caadeb650302841aa0a6))
|
|
88
|
+
* **spec:** declare what the host checks before a guest runs ([28d5d4b](https://github.com/elct9620/kobako/commit/28d5d4bac0efba2aced1b4449926bd868787bd75))
|
|
89
|
+
* **spec:** declare where a host object becomes a name the guest can reach ([5d88647](https://github.com/elct9620/kobako/commit/5d88647aa922e3a7bb6915864aec700423060358))
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
### Bug Fixes
|
|
93
|
+
|
|
94
|
+
* **gate:** keep the rendered specifications out of the anchor corpus ([1a24c7f](https://github.com/elct9620/kobako/commit/1a24c7ff1367228998b2f21beca885ab7096a893))
|
|
95
|
+
* **gate:** stop reading a sumi claim as an anchor citation ([b3c74d6](https://github.com/elct9620/kobako/commit/b3c74d6a296dfb7fa5e157ca9ba4678097bfab43))
|
|
96
|
+
* **spec:** let the dispatch feature reach the test that witnesses it ([430394f](https://github.com/elct9620/kobako/commit/430394fa906bf79b8d86d28de7b03e32748516a1))
|
|
97
|
+
* **transport:** keep a bound Class's class-level surface off the guest boundary ([dc00355](https://github.com/elct9620/kobako/commit/dc0035524f2a7b3eba3ec378f8f065c19a17660d))
|
|
98
|
+
|
|
3
99
|
## [0.22.0](https://github.com/elct9620/kobako/compare/v0.21.1...v0.22.0) (2026-08-06)
|
|
4
100
|
|
|
5
101
|
|