legion-gaia 0.9.7 → 0.9.8
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/CHANGELOG.md +7 -0
- data/lib/legion/gaia/phase_wiring.rb +28 -6
- data/lib/legion/gaia/version.rb +1 -1
- 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: 12176accbd73b544c9449e3be0f909ad1013d8a776d0b428bf943bce45cab369
|
|
4
|
+
data.tar.gz: 25fb7eb75d898d2f04e206c3d9d2fa93d7f27b0bd9ecdad67cc505f623ab28eb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b97b6e67fd29580034160e747d34a970d89b6536b55c2af1ba819ef48af7374227e92cc91daecd0ee210eadfbd03be921ac81849c6ee2abae1144d13eb6f6104
|
|
7
|
+
data.tar.gz: 50a73c902906a0ffb12cade886cd84e455df835093d201bb236b07c8024aef43969b3d12ce74b698f060c9cfaa358c947904b61ee2d8c68434b2d21ee61c7722
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.8] - 2026-03-21
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- `PhaseWiring#resolve_runner_class` now searches `Legion::Extensions::Agentic::` sub-namespace when the extension constant is not found directly under `Legion::Extensions`
|
|
7
|
+
- Added sub-domain runner lookup (one level deep) so agentic extensions that nest runners under `Extension::SubDomain::Runners::Runner` are resolved correctly
|
|
8
|
+
- All `const_defined?` and `const_get` calls now pass `inherit: false` to prevent incorrect constant resolution through `Object`
|
|
9
|
+
|
|
3
10
|
## [0.9.7] - 2026-03-20
|
|
4
11
|
|
|
5
12
|
### Fixed
|
|
@@ -88,15 +88,37 @@ module Legion
|
|
|
88
88
|
module_function
|
|
89
89
|
|
|
90
90
|
def resolve_runner_class(ext_sym, runner_sym)
|
|
91
|
-
|
|
91
|
+
ext_mod = locate_ext_mod(ext_sym)
|
|
92
|
+
return nil unless ext_mod
|
|
92
93
|
|
|
93
|
-
ext_mod
|
|
94
|
-
|
|
94
|
+
flat_runner(ext_mod, runner_sym) || subdomain_runner(ext_mod, runner_sym)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def locate_ext_mod(ext_sym)
|
|
98
|
+
if Legion::Extensions.const_defined?(ext_sym, false)
|
|
99
|
+
Legion::Extensions.const_get(ext_sym, false)
|
|
100
|
+
elsif Legion::Extensions.const_defined?(:Agentic, false) &&
|
|
101
|
+
Legion::Extensions::Agentic.const_defined?(ext_sym, false)
|
|
102
|
+
Legion::Extensions::Agentic.const_get(ext_sym, false)
|
|
103
|
+
end
|
|
104
|
+
end
|
|
95
105
|
|
|
96
|
-
|
|
97
|
-
return nil unless
|
|
106
|
+
def flat_runner(ext_mod, runner_sym)
|
|
107
|
+
return nil unless ext_mod.const_defined?(:Runners, false)
|
|
98
108
|
|
|
99
|
-
runners_mod.const_get(
|
|
109
|
+
runners_mod = ext_mod.const_get(:Runners, false)
|
|
110
|
+
runners_mod.const_get(runner_sym, false) if runners_mod.const_defined?(runner_sym, false)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def subdomain_runner(ext_mod, runner_sym)
|
|
114
|
+
ext_mod.constants(false).each do |sub_const|
|
|
115
|
+
sub_mod = ext_mod.const_get(sub_const, false)
|
|
116
|
+
next unless sub_mod.is_a?(Module) && sub_mod.const_defined?(:Runners, false)
|
|
117
|
+
|
|
118
|
+
runners_mod = sub_mod.const_get(:Runners, false)
|
|
119
|
+
return runners_mod.const_get(runner_sym, false) if runners_mod.const_defined?(runner_sym, false)
|
|
120
|
+
end
|
|
121
|
+
nil
|
|
100
122
|
end
|
|
101
123
|
|
|
102
124
|
def mappings_for(value)
|
data/lib/legion/gaia/version.rb
CHANGED