legionio 1.9.43 → 1.9.52
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 +39 -0
- data/README.md +126 -569
- data/legionio.gemspec +5 -2
- data/lib/legion/api/auth_teams.rb +7 -4
- data/lib/legion/api/default_settings.rb +5 -4
- data/lib/legion/api/extensions.rb +2 -2
- data/lib/legion/api/health.rb +73 -0
- data/lib/legion/api/middleware/auth.rb +4 -1
- data/lib/legion/api/openapi.rb +8 -4
- data/lib/legion/api/stats.rb +10 -9
- data/lib/legion/api.rb +6 -1
- data/lib/legion/cli/chat/daemon_chat.rb +1 -1
- data/lib/legion/cli/chat_command.rb +3 -3
- data/lib/legion/cli/connect_command.rb +34 -9
- data/lib/legion/cli/llm_command.rb +17 -14
- data/lib/legion/extensions/builders/routes.rb +1 -1
- data/lib/legion/helpers/context.rb +1 -1
- data/lib/legion/service.rb +32 -2
- data/lib/legion/version.rb +1 -1
- metadata +9 -24
- data/exe/replay_ledger +0 -395
- data/extensions-agentic/lex-consent/db/migrations/001_create_consent_maps.rb +0 -24
- data/extensions-agentic/lex-consent/lex-consent.gemspec +0 -26
- data/extensions-agentic/lex-consent/lib/legion/extensions/agentic/consent/actors/tier_evaluation.rb +0 -112
- data/extensions-agentic/lex-consent/lib/legion/extensions/agentic/consent/models/consent_map.rb +0 -74
- data/extensions-agentic/lex-consent/lib/legion/extensions/agentic/consent/runners/consent.rb +0 -210
- data/extensions-agentic/lex-consent/lib/legion/extensions/agentic/consent/version.rb +0 -11
- data/extensions-agentic/lex-consent/lib/legion/extensions/agentic/consent.rb +0 -15
- data/extensions-agentic/lex-reconciliation/Gemfile +0 -10
- data/extensions-agentic/lex-reconciliation/README.md +0 -73
- data/extensions-agentic/lex-reconciliation/lex-reconciliation.gemspec +0 -26
- data/extensions-agentic/lex-reconciliation/lib/legion/extensions/reconciliation/actors/reconciliation_cycle.rb +0 -143
- data/extensions-agentic/lex-reconciliation/lib/legion/extensions/reconciliation/drift_log.rb +0 -161
- data/extensions-agentic/lex-reconciliation/lib/legion/extensions/reconciliation/runners/drift_checker.rb +0 -137
- data/extensions-agentic/lex-reconciliation/lib/legion/extensions/reconciliation/version.rb +0 -9
- data/extensions-agentic/lex-reconciliation/lib/legion/extensions/reconciliation.rb +0 -13
- data/extensions-agentic/lex-reconciliation/spec/legion/extensions/reconciliation/drift_log_spec.rb +0 -40
- data/extensions-agentic/lex-reconciliation/spec/legion/extensions/reconciliation/runners/drift_checker_spec.rb +0 -107
- data/extensions-agentic/lex-reconciliation/spec/legion/extensions/reconciliation_spec.rb +0 -19
- data/extensions-agentic/lex-reconciliation/spec/spec_helper.rb +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ede4c3b865760acda216ca62dec3963eeba1dc510fa8320438e9fc6f5d290810
|
|
4
|
+
data.tar.gz: 4428bd1a57998cf59bc887fbbcf67fea6f37c1c4b3036f142dd0bff74d87823c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 12130c29fd51936cd819fc0aa7d320a0b5455b0bd20f4693196bf3e853ff2775ad1d5654233e00469795edc1cfc2c78377292c7b290d02fc2d821818da35ffa0
|
|
7
|
+
data.tar.gz: ae8b7b9820a8735cfbf6bcaa4bf74b05d49d63a628d4ed06a6a9ed5ffb360138a77f8ea8ad71637c20abbbc3b3b50bf08cf1b0683465b1207ecddffd6386b394
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# Legion Changelog
|
|
2
2
|
|
|
3
|
+
## [1.9.52] - 2026-08-07
|
|
4
|
+
### Fixed
|
|
5
|
+
- `/api/stats` + `legion llm status` now report routing on and read circuit state from Inventory SSOT; removed dead `Discovery::System/Ollama` guards and retargeted CLI discovery at `Inventory::Discovery::System`
|
|
6
|
+
- Fixed §4 exception-handling violations: `stats.rb` and `llm_command.rb` now use `handle_exception` instead of silent swallows or unstructured logging
|
|
7
|
+
|
|
8
|
+
## [1.9.51] - 2026-07-31
|
|
9
|
+
### Fixed
|
|
10
|
+
- Puma: add `force_shutdown_after` (default 10s) to server_settings to prevent indefinite shutdown hangs when streaming connections are wedged (puma/puma#3569). Previously Puma's default of `-1` meant SIGTERM would wait forever on any open SSE/streaming body thread that could not be interrupted
|
|
11
|
+
|
|
12
|
+
## [1.9.50] - 2026-07-15
|
|
13
|
+
### Fixed
|
|
14
|
+
- Backfill extension routes with API router after boot to fix /api/extensions/* 404s
|
|
15
|
+
- Fix CLI daemon_client require path after legion-llm restructure
|
|
16
|
+
## [1.9.48] - 2026-07-02
|
|
17
|
+
|
|
18
|
+
### Security
|
|
19
|
+
- API: fixed an authentication bypass in the auth middleware's `skip_path?` (CWE-284). It used bare prefix matching (`start_with?`), so any path sharing a prefix with an unauthenticated route bypassed auth — e.g. `/api/healthily_fake`, `/api/health/admin/export`, `/api/auth/tokens_dump` all matched `/api/health` / `/api/auth/token`. Now uses segment-bounded matching (exact path or `/`-delimited sub-path) via precompiled `SKIP_PATTERNS`, so only the intended paths and their legitimate sub-paths skip auth (fixes #209)
|
|
20
|
+
|
|
21
|
+
## [1.9.47] - 2026-07-02
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- API: `GET /api/health` now reflects subsystem health instead of always returning `200 ok`. It reports `degraded` with HTTP `503` when an **enabled and previously-healthy** subsystem (transport, cache, data) has broken — e.g. transport `session_open: false` after a connection recovery failure — and includes a per-component `components` breakdown (`enabled`/`healthy`/`detail`). A subsystem only degrades health if it was marked ready at boot (via `Legion::Readiness`); disabled or still-booting subsystems never fail the check. This makes the endpoint usable for load balancers and monitoring (fixes #194)
|
|
25
|
+
|
|
26
|
+
## [1.9.46] - 2026-07-02
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- API: `GET /api/extensions/tools` no longer 500s with `undefined method 'filter_tool_entries'`. The route block runs in the Sinatra instance context but `filter_tool_entries`/`serialize_tool_entry` are class methods on `Routes::Extensions`; they are now called on the explicit receiver, matching the pattern used by the other catalog routes. Added request specs for `/api/extensions/tools` (fixes #227)
|
|
30
|
+
|
|
31
|
+
## [1.9.45] - 2026-07-02
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
- API: Teams delegated OAuth callback now forwards `tenant_id`/`client_id` to `Entra::Helpers::TokenManager.save_token(:delegated, …)` so browser-login tokens can be refreshed (previously omitted, forcing refresh to fall back to settings and silently fail for delegated-only logins). The unshipped `TokenCache` `require` that 500'd the callback was already removed in 1.9.43 (fixes #212)
|
|
35
|
+
|
|
36
|
+
## [1.9.44] - 2026-07-01
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- CLI: `connect status` now reads the Entra `TokenManager` (`token_data(:delegated)` + `expired?`) for the `microsoft` provider instead of the legacy `Legion::Auth::TokenManager` secret store, which the delegated/Teams login never writes to — previously always reported `microsoft: not connected` after a successful login (fixes #213)
|
|
40
|
+
- CLI: `connect microsoft` now forwards `--tenant_id`/`--client_id`/`--scope` (as `--scopes`) explicitly to the Teams auth flow instead of dropping flag values via `ARGV.select`
|
|
41
|
+
|
|
3
42
|
## [1.9.43] - 2026-06-25
|
|
4
43
|
|
|
5
44
|
### Fixed
|