legionio 1.9.18 → 1.9.28
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/.rspec +2 -0
- data/CHANGELOG.md +67 -0
- data/CLAUDE.md +62 -769
- data/Gemfile +15 -9
- data/README.md +1 -1
- data/legionio.gemspec +2 -2
- data/lib/legion/api/identity_audit.rb +4 -4
- data/lib/legion/api/llm.rb +52 -91
- data/lib/legion/cli/chat/tools/provider_health.rb +2 -16
- data/lib/legion/extensions/actors/subscription.rb +28 -8
- data/lib/legion/extensions/builders/actors.rb +2 -0
- data/lib/legion/extensions/builders/hooks.rb +1 -0
- data/lib/legion/extensions/builders/runners.rb +15 -0
- data/lib/legion/extensions/catalog/available.rb +0 -8
- data/lib/legion/extensions/core.rb +26 -21
- data/lib/legion/extensions.rb +42 -13
- data/lib/legion/identity/broker.rb +1 -1
- data/lib/legion/identity/middleware.rb +28 -10
- data/lib/legion/identity/resolver.rb +59 -45
- data/lib/legion/service.rb +2 -2
- data/lib/legion/task_outcome_observer.rb +16 -2
- data/lib/legion/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 166725a37cf7c1d479070df9c3a19a53ec6fa915e1fe29b9e881358136392dc5
|
|
4
|
+
data.tar.gz: '09fe43d7158d9fea1439f820c231efeb25a3a1766b3c988411504f28cdbabf1d'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 424b1f6992f9bce5ae26fa0f09c986ee9bf961a9beccf64d3498f3db651747bbcab3ef8bb6ee25f45cdfc6c1df9e0ddd031132a253b334edeba1a63b2a1532cd
|
|
7
|
+
data.tar.gz: 2462fd9c2277a81b381f4b91c3674930606e6c80460d708c36d252a7a2a7e1475f9b397daa3d55c2c8b17b1c33dbb50eb2ceec7acd0dd3abfe59376d4913ef0a
|
data/.rspec
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,73 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [1.9.28] - 2026-05-08
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Task outcome observation now ignores internal runner completions without task ids, preventing periodic mesh gossip ticks from feeding meta-learning and Apollo ingestion.
|
|
9
|
+
- Identity resolver database persistence now targets the current identity provider, principal, identity, and audit log schema.
|
|
10
|
+
|
|
11
|
+
## [1.9.27] - 2026-05-08
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Preserve omitted `/api/llm/inference` client tool definitions as absent instead of `tools: []`, allowing legion-llm registry and trigger-based tool injection to run for normal API requests.
|
|
15
|
+
- Added an opt-in live daemon integration spec suite that uses explicit Faraday test dependencies and its own isolated RSpec helper.
|
|
16
|
+
|
|
17
|
+
## [1.9.26] - 2026-05-07
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Use the local `Legion::Identity::Process` identity for unauthenticated loopback API principals even when the process is only fallback-bound, avoiding generic `system:system` attribution in downstream LLM audit flows.
|
|
21
|
+
|
|
22
|
+
## [1.9.25] - 2026-05-07
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- Updated identity model references in `identity_audit.rb` and `identity/broker.rb` to use the portable namespace (`Identity::AuditLog`, `Identity::Principal`, `Identity::GroupMembership`) after legacy top-level identity models were removed from legion-data.
|
|
26
|
+
|
|
27
|
+
## [1.9.24] - 2026-05-07
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
- Removed deprecated direct AI provider extensions (`lex-azure-ai`, `lex-bedrock`, `lex-claude`, `lex-foundry`, `lex-gemini`, `lex-ollama`, `lex-openai`) from the extension catalog; use their `lex-llm-*` counterparts instead.
|
|
31
|
+
|
|
32
|
+
## [1.9.23] - 2026-05-07
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- Fixed encrypted subscription handling to accept both string-keyed and symbol-keyed IV headers before decrypting `encrypted/cs` AMQP payloads.
|
|
36
|
+
|
|
37
|
+
## [1.9.22] - 2026-05-06
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
- Hot-reloading a `lex-llm-*` provider extension now asks `Legion::LLM::Call::Providers` to rediscover loaded provider modules, keeping LLM provider instances aligned after extension updates.
|
|
41
|
+
- Bumped the packaged `legion-llm` dependency floor to `>= 0.9.1` for LLM-owned provider registration and reload-safe registry rebuilds.
|
|
42
|
+
|
|
43
|
+
## [1.9.21] - 2026-05-06
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- LegionIO now mounts `Legion::LLM::Routes` through the library route selector when `legion-llm` is available, leaving LLM API ownership with `legion-llm` instead of registering partial fallback routes first.
|
|
47
|
+
- LLM provider health API and CLI output now require native `Legion::LLM::Inventory` data and return a clear unavailable response when inventory is not loaded.
|
|
48
|
+
- Bumped packaged dependency floors to `legion-llm >= 0.9.0` and `legion-data >= 1.8.0` for the coordinated LLM route/schema sweep.
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
- Lite and local mode startup now write development mode through the public `Legion::Settings.set_prop` API.
|
|
52
|
+
|
|
53
|
+
### Removed
|
|
54
|
+
- Removed active `lex-llm-gateway` fallback paths from LLM chat, provider health, extension catalog, role filtering, and README documentation.
|
|
55
|
+
|
|
56
|
+
## [1.9.20] - 2026-05-06
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
- Nested LEX extensions now merge default settings into their nested `extensions` path (for example `lex-foo-bar` -> `extensions.foo.bar`) while underscored flat extensions continue to use the flat key (for example `lex-foo_bar` -> `extensions.foo_bar`).
|
|
60
|
+
- Extension load-time settings checks now use the discovered settings path for nested extensions, keeping `enabled`, `min_version`, `workers`, and `remote_invocable` overrides aligned with where defaults are merged.
|
|
61
|
+
|
|
62
|
+
## [1.9.19] - 2026-05-05
|
|
63
|
+
|
|
64
|
+
### Added
|
|
65
|
+
- `UnrecoverableMessageError` for messages that should be dead-lettered immediately (e.g., missing IV header on encrypted messages) instead of retried.
|
|
66
|
+
- Subscription actors now extract `message_id` and `correlation_id` from AMQP metadata into the message hash for downstream tracing.
|
|
67
|
+
- Runner builder auto-includes `Helpers::Lex` into runner modules when available, ensuring all runners have LEX metadata helpers.
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
- Encrypted messages (`encrypted/cs`) with a missing `iv` header now raise `UnrecoverableMessageError` and are dead-lettered rather than crashing with a nil argument to `Crypt.decrypt`.
|
|
71
|
+
|
|
5
72
|
## [1.9.18] - 2026-04-29
|
|
6
73
|
|
|
7
74
|
### Fixed
|