kobako 0.26.0-aarch64-linux → 0.28.0-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 +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +103 -0
- data/README.md +156 -118
- data/ROADMAP.md +23 -22
- data/SECURITY.md +1 -1
- data/crates/kobako-runtime/CHANGELOG.md +38 -0
- data/crates/kobako-runtime/README.md +10 -12
- data/crates/kobako-transport/CHANGELOG.md +35 -0
- data/crates/kobako-transport/README.md +43 -27
- data/crates/kobako-wasmtime/CHANGELOG.md +51 -0
- data/crates/kobako-wasmtime/README.md +8 -10
- data/data/kobako.wasm +0 -0
- data/lib/kobako/3.3/kobako.so +0 -0
- data/lib/kobako/3.4/kobako.so +0 -0
- data/lib/kobako/4.0/kobako.so +0 -0
- data/lib/kobako/capture.rb +1 -4
- data/lib/kobako/catalog/extensions.rb +21 -59
- data/lib/kobako/catalog/flags.rb +41 -0
- data/lib/kobako/catalog/handles.rb +7 -54
- data/lib/kobako/catalog/services.rb +7 -61
- data/lib/kobako/catalog/snippets.rb +42 -66
- data/lib/kobako/catalog.rb +2 -10
- data/lib/kobako/codec/decoder.rb +9 -28
- data/lib/kobako/codec/encoder.rb +3 -22
- data/lib/kobako/codec/error.rb +6 -27
- data/lib/kobako/codec/ext_types.rb +72 -94
- data/lib/kobako/codec/handle_walk.rb +65 -130
- data/lib/kobako/codec/nesting.rb +3 -8
- data/lib/kobako/codec/state.rb +4 -10
- data/lib/kobako/codec/utils.rb +6 -34
- data/lib/kobako/codec.rb +3 -22
- data/lib/kobako/constant_name.rb +8 -0
- data/lib/kobako/context.rb +51 -112
- data/lib/kobako/errors.rb +51 -127
- data/lib/kobako/execution.rb +16 -21
- data/lib/kobako/extension.rb +23 -40
- data/lib/kobako/handle.rb +7 -12
- data/lib/kobako/outcome.rb +51 -80
- data/lib/kobako/payload/arguments.rb +1 -16
- data/lib/kobako/payload.rb +4 -12
- data/lib/kobako/pool.rb +23 -53
- data/lib/kobako/runtime.rb +7 -21
- data/lib/kobako/sandbox.rb +96 -133
- data/lib/kobako/sandbox_options.rb +38 -84
- data/lib/kobako/snippet/binary.rb +1 -16
- data/lib/kobako/snippet/source.rb +1 -16
- data/lib/kobako/snippet.rb +1 -9
- data/lib/kobako/transport/call.rb +1 -14
- data/lib/kobako/transport/dispatcher.rb +112 -195
- data/lib/kobako/transport/error.rb +6 -20
- data/lib/kobako/transport/exposure.rb +5 -10
- data/lib/kobako/transport/reflection.rb +39 -50
- data/lib/kobako/transport/run.rb +17 -71
- data/lib/kobako/transport/yielder.rb +21 -73
- data/lib/kobako/transport.rb +3 -15
- data/lib/kobako/unresolved.rb +4 -11
- data/lib/kobako/usage.rb +2 -6
- data/lib/kobako/version.rb +1 -1
- data/sig/kobako/catalog/extensions.rbs +2 -2
- data/sig/kobako/catalog/flags.rbs +17 -0
- data/sig/kobako/catalog/services.rbs +0 -6
- data/sig/kobako/catalog/snippets.rbs +4 -4
- data/sig/kobako/codec/ext_types.rbs +10 -8
- data/sig/kobako/codec/handle_walk.rbs +9 -7
- data/sig/kobako/codec/utils.rbs +2 -2
- data/sig/kobako/codec.rbs +2 -2
- data/sig/kobako/constant_name.rbs +3 -0
- data/sig/kobako/context.rbs +2 -3
- data/sig/kobako/errors.rbs +6 -0
- data/sig/kobako/outcome.rbs +6 -8
- data/sig/kobako/runtime.rbs +12 -8
- data/sig/kobako/sandbox.rbs +4 -0
- data/sig/kobako/sandbox_options.rbs +2 -6
- data/sig/kobako/transport/dispatcher.rbs +14 -18
- data/sig/kobako/transport/reflection.rbs +5 -3
- data/sig/kobako/transport/run.rbs +1 -3
- data/sig/kobako/transport/yielder.rbs +3 -3
- data/sig/kobako/transport.rbs +7 -6
- metadata +6 -3
- data/rust-toolchain.toml +0 -11
|
@@ -5,21 +5,23 @@ module Kobako
|
|
|
5
5
|
EXT_HANDLE: Integer
|
|
6
6
|
UNREPRESENTABLE_GUARD_ID: Integer
|
|
7
7
|
|
|
8
|
-
def self
|
|
8
|
+
def self.build_factory: () -> MessagePack::Factory
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
private
|
|
11
11
|
|
|
12
|
-
def self
|
|
12
|
+
def self.pack_symbol: (Symbol symbol) -> String
|
|
13
13
|
|
|
14
|
-
def self
|
|
14
|
+
def self.unpack_symbol: (String payload) -> Symbol
|
|
15
15
|
|
|
16
|
-
def self
|
|
16
|
+
def self.pack_handle: (Kobako::Handle handle) -> String
|
|
17
17
|
|
|
18
|
-
def self
|
|
18
|
+
def self.unpack_handle: (String payload, State state) -> Kobako::Handle
|
|
19
19
|
|
|
20
|
-
def self
|
|
20
|
+
def self.register_symbol: (MessagePack::Factory factory) -> void
|
|
21
21
|
|
|
22
|
-
def self
|
|
22
|
+
def self.register_handle: (MessagePack::Factory factory) -> void
|
|
23
|
+
|
|
24
|
+
def self.register_unrepresentable: (MessagePack::Factory factory) -> void
|
|
23
25
|
end
|
|
24
26
|
|
|
25
27
|
FACTORY: MessagePack::Factory
|
|
@@ -3,19 +3,21 @@ module Kobako
|
|
|
3
3
|
module HandleWalk
|
|
4
4
|
MSGPACK_INT_RANGE: Range[Integer]
|
|
5
5
|
|
|
6
|
-
def self
|
|
6
|
+
def self.representable?: (untyped value, ?Integer depth) -> bool
|
|
7
7
|
|
|
8
|
-
def self
|
|
8
|
+
def self.deep_wrap: (untyped value, Kobako::Codec::_HandleTable handles, ?Integer depth) -> untyped
|
|
9
9
|
|
|
10
|
-
def self
|
|
10
|
+
def self.deep_restore: (untyped value, Kobako::Codec::_HandleTable handles) -> untyped
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
private
|
|
13
13
|
|
|
14
|
-
def self
|
|
14
|
+
def self.guard_nesting!: (Integer depth) -> void
|
|
15
15
|
|
|
16
|
-
def self
|
|
16
|
+
def self.deep_wrap_hash: (Hash[untyped, untyped] hash, Kobako::Codec::_HandleTable handles, Integer depth) -> Hash[untyped, untyped]
|
|
17
17
|
|
|
18
|
-
def self
|
|
18
|
+
def self.primitive_type?: (untyped value) -> bool
|
|
19
|
+
|
|
20
|
+
def self.container_representable?: (untyped value, Integer depth) -> bool
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
end
|
data/sig/kobako/codec/utils.rbs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
module Kobako
|
|
2
2
|
module Codec
|
|
3
3
|
module Utils
|
|
4
|
-
def self
|
|
4
|
+
def self.assert_utf8!: (String string, String label) -> void
|
|
5
5
|
|
|
6
|
-
def self
|
|
6
|
+
def self.with_boundary: [T] () { () -> T } -> T
|
|
7
7
|
end
|
|
8
8
|
end
|
|
9
9
|
end
|
data/sig/kobako/codec.rbs
CHANGED
|
@@ -17,8 +17,8 @@ module Kobako
|
|
|
17
17
|
# The Handle allocator/resolver a wire walk works against: alloc
|
|
18
18
|
# registers a non-wire-representable object and returns its Handle,
|
|
19
19
|
# fetch resolves a wire Handle id back to the live object. The
|
|
20
|
-
#
|
|
21
|
-
# modelled structurally so the Codec and Transport tiers need no
|
|
20
|
+
# Kobako::Catalog::Handles each invocation mints is the production
|
|
21
|
+
# conformer; modelled structurally so the Codec and Transport tiers need no
|
|
22
22
|
# upward dependency on Catalog.
|
|
23
23
|
interface _HandleTable
|
|
24
24
|
def alloc: (untyped object) -> Kobako::Handle
|
data/sig/kobako/context.rbs
CHANGED
|
@@ -4,6 +4,7 @@ module Kobako
|
|
|
4
4
|
runtime: Kobako::Runtime,
|
|
5
5
|
services: Kobako::Catalog::Services,
|
|
6
6
|
snippets: Kobako::Catalog::Snippets,
|
|
7
|
+
flags: Kobako::Catalog::Flags,
|
|
7
8
|
extensions: Kobako::Catalog::Extensions
|
|
8
9
|
) -> void
|
|
9
10
|
|
|
@@ -23,9 +24,7 @@ module Kobako
|
|
|
23
24
|
|
|
24
25
|
def populate_observability!: (Kobako::Runtime::Snapshot snapshot) -> void
|
|
25
26
|
|
|
26
|
-
def
|
|
27
|
-
|
|
28
|
-
def trap_error_for: (Kobako::Runtime::Snapshot snapshot, Symbol verb) -> Kobako::TrapError
|
|
27
|
+
def with_verb: (Kobako::TrapError err, Symbol verb) -> Kobako::TrapError
|
|
29
28
|
|
|
30
29
|
def build_execution: (untyped value, failed: bool) -> Kobako::Execution
|
|
31
30
|
|
data/sig/kobako/errors.rbs
CHANGED
|
@@ -60,12 +60,18 @@ module Kobako
|
|
|
60
60
|
class YieldValueError < Error
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
+
class UnsupportedError < Error
|
|
64
|
+
end
|
|
65
|
+
|
|
63
66
|
class HandleExhaustedError < SandboxError
|
|
64
67
|
end
|
|
65
68
|
|
|
66
69
|
class BytecodeError < SandboxError
|
|
67
70
|
end
|
|
68
71
|
|
|
72
|
+
class UnsupportedFlagError < SandboxError
|
|
73
|
+
end
|
|
74
|
+
|
|
69
75
|
class UndefinedEntrypointError < SandboxError
|
|
70
76
|
attr_reader name: Symbol?
|
|
71
77
|
attr_reader available: Array[Symbol]
|
data/sig/kobako/outcome.rbs
CHANGED
|
@@ -6,18 +6,16 @@ module Kobako
|
|
|
6
6
|
|
|
7
7
|
type panic_fields = [String, String, String, Array[String], Array[String]]
|
|
8
8
|
|
|
9
|
-
def self
|
|
9
|
+
def self.reify: (String payload, panic_fields? panic, ?entrypoint: Symbol?) -> Kobako::Codec::wire_value
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
# `self?` method private, so the declarations stay visible to the checker.
|
|
13
|
-
def self?.panic_error: (panic_fields panic, Symbol? entrypoint) -> (SandboxError | ServiceError)
|
|
11
|
+
private
|
|
14
12
|
|
|
15
|
-
def self
|
|
13
|
+
def self.panic_error: (panic_fields panic, Symbol? entrypoint) -> (SandboxError | ServiceError)
|
|
16
14
|
|
|
17
|
-
def self
|
|
15
|
+
def self.error_class: (String origin, String klass) -> (singleton(SandboxError) | singleton(ServiceError))
|
|
18
16
|
|
|
19
|
-
def self
|
|
17
|
+
def self.decode_value: (String payload) -> Kobako::Codec::wire_value
|
|
20
18
|
|
|
21
|
-
def self
|
|
19
|
+
def self.wire_error: (String message, ?diagnostic: String?) -> Transport::Error
|
|
22
20
|
end
|
|
23
21
|
end
|
data/sig/kobako/runtime.rbs
CHANGED
|
@@ -15,20 +15,28 @@ module Kobako
|
|
|
15
15
|
def eval: (
|
|
16
16
|
Kobako::Transport::dispatch_proc dispatch,
|
|
17
17
|
Array[String] paths,
|
|
18
|
-
|
|
19
|
-
Array[Kobako::Catalog::
|
|
18
|
+
Array[Kobako::Catalog::Snippets::tuple] snippets,
|
|
19
|
+
Array[Kobako::Catalog::Flags::tuple] flags,
|
|
20
|
+
String source
|
|
20
21
|
) -> Kobako::Runtime::Snapshot
|
|
21
22
|
|
|
22
23
|
def run: (
|
|
23
24
|
Kobako::Transport::dispatch_proc dispatch,
|
|
24
25
|
Array[String] paths,
|
|
25
26
|
Array[Kobako::Catalog::Snippets::tuple] snippets,
|
|
27
|
+
Array[Kobako::Catalog::Flags::tuple] flags,
|
|
26
28
|
String entrypoint,
|
|
27
29
|
String payload
|
|
28
30
|
) -> Kobako::Runtime::Snapshot
|
|
29
31
|
|
|
30
32
|
def profile: () -> Symbol
|
|
31
33
|
|
|
34
|
+
def compile: (
|
|
35
|
+
Array[String] paths,
|
|
36
|
+
Array[Kobako::Catalog::Snippets::tuple] snippets,
|
|
37
|
+
Array[Kobako::Catalog::Flags::tuple] flags
|
|
38
|
+
) -> Array[String]?
|
|
39
|
+
|
|
32
40
|
# Frame-scoped guest re-entry handle the ext hands the dispatch Proc as
|
|
33
41
|
# its last argument — the production conformer of
|
|
34
42
|
# +Kobako::Transport::_GuestYielder+, answering the Yield Reply already
|
|
@@ -39,13 +47,9 @@ module Kobako
|
|
|
39
47
|
|
|
40
48
|
# One invocation's result — the whole Snapshot the driver produced.
|
|
41
49
|
class Snapshot
|
|
42
|
-
def outcome: () -> [
|
|
43
|
-
|
|
44
|
-
def trapped?: () -> bool
|
|
45
|
-
|
|
46
|
-
def trap_kind: () -> Symbol?
|
|
50
|
+
def outcome: () -> [String, Kobako::Outcome::panic_fields?]
|
|
47
51
|
|
|
48
|
-
def
|
|
52
|
+
def trap_error: () -> Kobako::TrapError?
|
|
49
53
|
|
|
50
54
|
def wall_time: () -> Float
|
|
51
55
|
|
data/sig/kobako/sandbox.rbs
CHANGED
|
@@ -27,6 +27,8 @@ module Kobako
|
|
|
27
27
|
def preload: (code: String, name: Symbol | String) -> Kobako::Sandbox
|
|
28
28
|
| (binary: String) -> Kobako::Sandbox
|
|
29
29
|
|
|
30
|
+
def flag: (Symbol | String name, ?String value, ?advisory: bool) -> Kobako::Sandbox
|
|
31
|
+
|
|
30
32
|
def run: (Symbol | String target, *untyped args, **untyped kwargs) ?{ (Kobako::Context) -> void } -> Kobako::Execution
|
|
31
33
|
|
|
32
34
|
def eval: (String code) ?{ (Kobako::Context) -> void } -> Kobako::Execution
|
|
@@ -37,6 +39,8 @@ module Kobako
|
|
|
37
39
|
|
|
38
40
|
def new_invocation: () -> Kobako::Context
|
|
39
41
|
|
|
42
|
+
def refuse_once_invoked!: (String verb) -> void
|
|
43
|
+
|
|
40
44
|
def begin_invocation!: () -> void
|
|
41
45
|
end
|
|
42
46
|
end
|
|
@@ -39,12 +39,8 @@ module Kobako
|
|
|
39
39
|
|
|
40
40
|
def normalize_timeout: ((Float | Integer)? timeout) -> Float?
|
|
41
41
|
|
|
42
|
-
def
|
|
42
|
+
def normalize_byte_limit: (Integer? limit, String name) -> Integer?
|
|
43
43
|
|
|
44
|
-
def
|
|
45
|
-
|
|
46
|
-
def normalize_profile: (untyped profile) -> Symbol
|
|
47
|
-
|
|
48
|
-
def normalize_gvl: (untyped gvl) -> Symbol
|
|
44
|
+
def normalize_choice: (untyped value, Array[Symbol] choices, String name) -> Symbol
|
|
49
45
|
end
|
|
50
46
|
end
|
|
@@ -11,37 +11,33 @@ module Kobako
|
|
|
11
11
|
|
|
12
12
|
OWN_FAULTS: Hash[singleton(StandardError), String]
|
|
13
13
|
|
|
14
|
+
def self.dispatch: (Kobako::Transport::Call call, Kobako::Transport::_ServiceResolver resolver, Kobako::Transport::_HandleTable handles, Kobako::Transport::_GuestYielder guest_yielder) -> [bool, String, String?]
|
|
14
15
|
|
|
16
|
+
private
|
|
15
17
|
|
|
18
|
+
def self.run: (Kobako::Transport::Call call, Kobako::Transport::_ServiceResolver resolver, Kobako::Transport::_HandleTable handles, Kobako::Transport::Yielder? yielder) -> untyped
|
|
16
19
|
|
|
17
|
-
def self
|
|
20
|
+
def self.decode_arguments: (String payload) -> [Kobako::Payload::Arguments, bool]
|
|
18
21
|
|
|
19
|
-
def self
|
|
22
|
+
def self.resolve_call_args: (Kobako::Payload::Arguments arguments, Kobako::Codec::_HandleTable handles, bool carried_handle) -> [Array[untyped], Hash[Symbol, untyped]]
|
|
20
23
|
|
|
21
|
-
def self
|
|
24
|
+
def self.caught_fault: (StandardError error, Kobako::Transport::Yielder? yielder) -> [String, String]
|
|
22
25
|
|
|
23
|
-
def self
|
|
26
|
+
def self.invoke: (Kobako::Transport::Exposure exposure, String method, Array[untyped] args, Hash[Symbol, untyped] kwargs, Kobako::Transport::Yielder? yielder) -> untyped
|
|
24
27
|
|
|
25
|
-
def self
|
|
28
|
+
def self.reject_unreachable!: (Kobako::Transport::Exposure exposure, Symbol name) -> void
|
|
26
29
|
|
|
27
|
-
def self
|
|
30
|
+
def self.resolve_arg: (untyped value, Kobako::Codec::_HandleTable handles) -> untyped
|
|
28
31
|
|
|
29
|
-
def self
|
|
32
|
+
def self.resolve_target: (String | Integer target, Kobako::Transport::_ServiceResolver resolver, Kobako::Transport::_HandleTable handles) -> Kobako::Transport::Exposure
|
|
30
33
|
|
|
34
|
+
def self.resolve_path: (String path, Kobako::Transport::_ServiceResolver resolver) -> Kobako::Transport::Exposure
|
|
31
35
|
|
|
32
|
-
def self
|
|
36
|
+
def self.resolve_handle: (Integer id, Kobako::Transport::_HandleTable handles) -> Kobako::Transport::Exposure
|
|
33
37
|
|
|
34
|
-
def self
|
|
38
|
+
def self.encode_ok: (untyped value, Kobako::Codec::_HandleTable handles) -> String
|
|
35
39
|
|
|
36
|
-
def self
|
|
37
|
-
|
|
38
|
-
def self?.resolve_handle: (Integer id, Kobako::Transport::_HandleTable handler) -> Kobako::Transport::Exposure
|
|
39
|
-
|
|
40
|
-
def self?.encode_ok: (untyped value, Kobako::Codec::_HandleTable handler) -> String
|
|
41
|
-
|
|
42
|
-
def self?.wrap_as_handle: (untyped value, Kobako::Codec::_HandleTable handler) -> Kobako::Handle
|
|
43
|
-
|
|
44
|
-
def self?.fault: (String type, String message) -> [String, String]
|
|
40
|
+
def self.fault: (String type, String message) -> [String, String]
|
|
45
41
|
end
|
|
46
42
|
end
|
|
47
43
|
end
|
|
@@ -5,11 +5,13 @@ module Kobako
|
|
|
5
5
|
GADGET_OWNERS: Array[Module]
|
|
6
6
|
CALLABLE_ALLOW: Array[Symbol]
|
|
7
7
|
|
|
8
|
-
def self
|
|
8
|
+
def self.refusal: (Kobako::Transport::Exposure exposure, Symbol name) -> String?
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
private
|
|
11
11
|
|
|
12
|
-
def self
|
|
12
|
+
def self.ambient_refusal: (untyped target, Symbol name) -> String?
|
|
13
|
+
|
|
14
|
+
def self.ambient_owner?: (Module owner, untyped target) -> bool
|
|
13
15
|
end
|
|
14
16
|
end
|
|
15
17
|
end
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
module Kobako
|
|
2
2
|
module Transport
|
|
3
3
|
class Run < Data
|
|
4
|
-
NAME_PATTERN: Regexp
|
|
5
|
-
|
|
6
4
|
attr_reader entrypoint: Symbol
|
|
7
5
|
attr_reader args: Array[Kobako::Codec::wire_value]
|
|
8
6
|
attr_reader kwargs: Hash[Symbol, Kobako::Codec::wire_value]
|
|
@@ -11,7 +9,7 @@ module Kobako
|
|
|
11
9
|
|
|
12
10
|
def initialize: (entrypoint: Symbol | String, ?args: Array[untyped], ?kwargs: Hash[untyped, untyped]) -> void
|
|
13
11
|
|
|
14
|
-
def payload: (Kobako::Codec::_HandleTable
|
|
12
|
+
def payload: (Kobako::Codec::_HandleTable handles) -> String
|
|
15
13
|
|
|
16
14
|
private
|
|
17
15
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
module Kobako
|
|
2
2
|
module Transport
|
|
3
3
|
class Yielder
|
|
4
|
-
@
|
|
4
|
+
@guest_yielder: Kobako::Transport::_GuestYielder
|
|
5
5
|
@break_tag: Symbol
|
|
6
|
-
@
|
|
6
|
+
@handles: Kobako::Codec::_HandleTable
|
|
7
7
|
@active: bool
|
|
8
8
|
@raised: Kobako::BlockError?
|
|
9
9
|
|
|
10
|
-
def initialize: (Kobako::Transport::_GuestYielder
|
|
10
|
+
def initialize: (Kobako::Transport::_GuestYielder guest_yielder, Symbol break_tag, Kobako::Codec::_HandleTable handles) -> void
|
|
11
11
|
|
|
12
12
|
def fault_text: (Exception error) -> String?
|
|
13
13
|
|
data/sig/kobako/transport.rbs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
module Kobako
|
|
2
2
|
module Transport
|
|
3
3
|
# The guest re-entry callable a dispatch hands to a Yielder: invoked
|
|
4
|
-
# with the encoded yield args, it returns the
|
|
4
|
+
# with the encoded yield args, it returns the decoded Yield Reply as an
|
|
5
|
+
# +[arm, body, klass]+ triple.
|
|
5
6
|
# The ext's Kobako::Runtime::GuestYielder is the production conformer;
|
|
6
7
|
# modelled structurally so the Transport layer needs no upward
|
|
7
8
|
# dependency on Runtime.
|
|
@@ -15,11 +16,11 @@ module Kobako
|
|
|
15
16
|
# consumer (Runtime) cannot declare it differently.
|
|
16
17
|
type dispatch_proc = ^(String | Integer, String, bool, String, _GuestYielder) -> [bool, String, String?]
|
|
17
18
|
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
# layer needs no upward dependency on
|
|
22
|
-
interface
|
|
19
|
+
# What a dispatch resolves constant-path targets against. The
|
|
20
|
+
# invocation's Kobako::Context is the production conformer, so its
|
|
21
|
+
# overrides answer before the Sandbox's bindings; modelled structurally
|
|
22
|
+
# so the Transport layer needs no upward dependency on Orchestration.
|
|
23
|
+
interface _ServiceResolver
|
|
23
24
|
def lookup: (String target) -> Exposure
|
|
24
25
|
end
|
|
25
26
|
|
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.
|
|
4
|
+
version: 0.28.0
|
|
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-
|
|
11
|
+
date: 2026-10-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: msgpack
|
|
@@ -53,6 +53,7 @@ files:
|
|
|
53
53
|
- lib/kobako/capture.rb
|
|
54
54
|
- lib/kobako/catalog.rb
|
|
55
55
|
- lib/kobako/catalog/extensions.rb
|
|
56
|
+
- lib/kobako/catalog/flags.rb
|
|
56
57
|
- lib/kobako/catalog/handles.rb
|
|
57
58
|
- lib/kobako/catalog/services.rb
|
|
58
59
|
- lib/kobako/catalog/snippets.rb
|
|
@@ -65,6 +66,7 @@ files:
|
|
|
65
66
|
- lib/kobako/codec/nesting.rb
|
|
66
67
|
- lib/kobako/codec/state.rb
|
|
67
68
|
- lib/kobako/codec/utils.rb
|
|
69
|
+
- lib/kobako/constant_name.rb
|
|
68
70
|
- lib/kobako/context.rb
|
|
69
71
|
- lib/kobako/errors.rb
|
|
70
72
|
- lib/kobako/execution.rb
|
|
@@ -92,11 +94,11 @@ files:
|
|
|
92
94
|
- lib/kobako/usage.rb
|
|
93
95
|
- lib/kobako/version.rb
|
|
94
96
|
- release-please-config.json
|
|
95
|
-
- rust-toolchain.toml
|
|
96
97
|
- sig/kobako.rbs
|
|
97
98
|
- sig/kobako/capture.rbs
|
|
98
99
|
- sig/kobako/catalog.rbs
|
|
99
100
|
- sig/kobako/catalog/extensions.rbs
|
|
101
|
+
- sig/kobako/catalog/flags.rbs
|
|
100
102
|
- sig/kobako/catalog/handles.rbs
|
|
101
103
|
- sig/kobako/catalog/services.rbs
|
|
102
104
|
- sig/kobako/catalog/snippets.rbs
|
|
@@ -109,6 +111,7 @@ files:
|
|
|
109
111
|
- sig/kobako/codec/nesting.rbs
|
|
110
112
|
- sig/kobako/codec/state.rbs
|
|
111
113
|
- sig/kobako/codec/utils.rbs
|
|
114
|
+
- sig/kobako/constant_name.rbs
|
|
112
115
|
- sig/kobako/context.rbs
|
|
113
116
|
- sig/kobako/errors.rbs
|
|
114
117
|
- sig/kobako/execution.rbs
|
data/rust-toolchain.toml
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# Pin the Rust toolchain so local builds and CI stay byte-identical.
|
|
2
|
-
# The wasm32-wasip1 crt1-command.o references __wasi_init_tp from 1.96 onward;
|
|
3
|
-
# vendored wasi-sdk 33's libc.a supplies that symbol, so the two move together.
|
|
4
|
-
# Bump this in lockstep with the wasi-sdk toolchain beni vendors
|
|
5
|
-
# (`rake beni:build`, wired in the Rakefile's Beni::Tasks block).
|
|
6
|
-
# This file is the single source of the channel; the CI workflows read it.
|
|
7
|
-
[toolchain]
|
|
8
|
-
channel = "stable"
|
|
9
|
-
components = ["clippy", "rustfmt"]
|
|
10
|
-
targets = ["wasm32-wasip1"]
|
|
11
|
-
profile = "minimal"
|