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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.release-please-manifest.json +1 -1
  3. data/CHANGELOG.md +96 -0
  4. data/Cargo.lock +160 -114
  5. data/README.md +19 -18
  6. data/ROADMAP.md +12 -12
  7. data/crates/kobako-runtime/CHANGELOG.md +7 -0
  8. data/crates/kobako-runtime/Cargo.toml +2 -2
  9. data/crates/kobako-runtime/README.md +1 -1
  10. data/crates/kobako-runtime/src/profile.rs +2 -2
  11. data/crates/kobako-transport/CHANGELOG.md +7 -0
  12. data/crates/kobako-transport/Cargo.toml +1 -1
  13. data/crates/kobako-transport/README.md +1 -1
  14. data/crates/kobako-transport/src/abi.rs +2 -0
  15. data/crates/kobako-transport/src/envelope/bytes.rs +6 -0
  16. data/crates/kobako-transport/src/envelope/call.rs +9 -0
  17. data/crates/kobako-transport/src/envelope/error_record.rs +3 -0
  18. data/crates/kobako-transport/src/envelope/fault.rs +5 -0
  19. data/crates/kobako-transport/src/envelope/invocation_frames.rs +9 -0
  20. data/crates/kobako-transport/src/envelope/outcome.rs +11 -0
  21. data/crates/kobako-transport/src/envelope/reply.rs +9 -0
  22. data/crates/kobako-transport/src/envelope/run.rs +3 -0
  23. data/crates/kobako-wasmtime/CHANGELOG.md +9 -0
  24. data/crates/kobako-wasmtime/Cargo.toml +5 -5
  25. data/crates/kobako-wasmtime/README.md +1 -1
  26. data/crates/kobako-wasmtime/src/ambient.rs +2 -0
  27. data/crates/kobako-wasmtime/src/capture.rs +8 -0
  28. data/crates/kobako-wasmtime/src/frames.rs +3 -1
  29. data/crates/kobako-wasmtime/src/guest_mem.rs +8 -0
  30. data/crates/kobako-wasmtime/src/invocation.rs +10 -0
  31. data/crates/kobako-wasmtime/src/trap.rs +6 -0
  32. data/data/kobako.wasm +0 -0
  33. data/ext/kobako/Cargo.toml +1 -1
  34. data/lib/kobako/capture.rb +8 -22
  35. data/lib/kobako/catalog/handles.rb +40 -13
  36. data/lib/kobako/catalog/services.rb +9 -7
  37. data/lib/kobako/context.rb +8 -8
  38. data/lib/kobako/handle.rb +10 -40
  39. data/lib/kobako/sandbox.rb +5 -0
  40. data/lib/kobako/transport/dispatcher.rb +28 -26
  41. data/lib/kobako/transport/exposure.rb +100 -0
  42. data/lib/kobako/transport/reflection.rb +40 -27
  43. data/lib/kobako/transport.rb +4 -2
  44. data/lib/kobako/usage.rb +11 -22
  45. data/lib/kobako/version.rb +1 -1
  46. data/release-please-config.json +1 -1
  47. data/sig/kobako/catalog/handles.rbs +2 -0
  48. data/sig/kobako/catalog/services.rbs +1 -1
  49. data/sig/kobako/context.rbs +1 -1
  50. data/sig/kobako/transport/dispatcher.rbs +7 -7
  51. data/sig/kobako/transport/exposure.rbs +43 -0
  52. data/sig/kobako/transport/reflection.rbs +2 -2
  53. data/sig/kobako/transport.rbs +11 -1
  54. metadata +3 -1
@@ -20,7 +20,17 @@ module Kobako
20
20
  # production conformer; modelled structurally so the Transport
21
21
  # layer needs no upward dependency on Catalog.
22
22
  interface _ServiceRegistry
23
- def lookup: (String target) -> untyped
23
+ def lookup: (String target) -> Exposure
24
+ end
25
+
26
+ # The per-invocation Handle table as a dispatch reads it: the codec's
27
+ # allocate / restore pair, plus the Exposure a Handle was minted with,
28
+ # which authorizes a call made through it. Kobako::Catalog::Handles is
29
+ # the production conformer.
30
+ interface _HandleTable
31
+ include Kobako::Codec::_HandleTable
32
+
33
+ def exposure: (Integer id) -> Exposure
24
34
  end
25
35
  end
26
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kobako
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aotokitsuruya
@@ -138,6 +138,7 @@ files:
138
138
  - lib/kobako/transport/call.rb
139
139
  - lib/kobako/transport/dispatcher.rb
140
140
  - lib/kobako/transport/error.rb
141
+ - lib/kobako/transport/exposure.rb
141
142
  - lib/kobako/transport/reflection.rb
142
143
  - lib/kobako/transport/run.rb
143
144
  - lib/kobako/transport/yielder.rb
@@ -180,6 +181,7 @@ files:
180
181
  - sig/kobako/transport/call.rbs
181
182
  - sig/kobako/transport/dispatcher.rbs
182
183
  - sig/kobako/transport/error.rbs
184
+ - sig/kobako/transport/exposure.rbs
183
185
  - sig/kobako/transport/reflection.rbs
184
186
  - sig/kobako/transport/run.rbs
185
187
  - sig/kobako/transport/yielder.rbs