legion-llm 0.7.15 → 0.8.2
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/.gitignore +1 -0
- data/CHANGELOG.md +12 -1
- data/CLAUDE.md +376 -151
- data/Gemfile +1 -0
- data/README.md +229 -13
- data/advisory_prompt.txt +20 -0
- data/lib/legion/llm/api/anthropic/messages.rb +168 -0
- data/lib/legion/llm/api/auth.rb +63 -0
- data/lib/legion/llm/api/native/chat.rb +127 -0
- data/lib/legion/llm/api/native/helpers.rb +346 -0
- data/lib/legion/llm/api/native/inference.rb +246 -0
- data/lib/legion/llm/api/native/providers.rb +95 -0
- data/lib/legion/llm/api/openai/chat_completions.rb +137 -0
- data/lib/legion/llm/api/openai/embeddings.rb +66 -0
- data/lib/legion/llm/api/openai/models.rb +109 -0
- data/lib/legion/llm/api/translators/anthropic_request.rb +110 -0
- data/lib/legion/llm/api/translators/anthropic_response.rb +190 -0
- data/lib/legion/llm/api/translators/openai_request.rb +88 -0
- data/lib/legion/llm/api/translators/openai_response.rb +141 -0
- data/lib/legion/llm/api.rb +48 -0
- data/lib/legion/llm/audit.rb +35 -13
- data/lib/legion/llm/bedrock_bearer_auth.rb +2 -51
- data/lib/legion/llm/cache/response.rb +151 -0
- data/lib/legion/llm/call/bedrock_auth.rb +53 -0
- data/lib/legion/llm/call/claude_config_loader.rb +65 -0
- data/lib/legion/llm/call/codex_config_loader.rb +113 -0
- data/lib/legion/llm/call/daemon_client.rb +249 -0
- data/lib/legion/llm/call/dispatch.rb +142 -0
- data/lib/legion/llm/call/embeddings.rb +486 -0
- data/lib/legion/llm/call/providers.rb +339 -0
- data/lib/legion/llm/call/registry.rb +42 -0
- data/lib/legion/llm/call/structured_output.rb +83 -0
- data/lib/legion/llm/call.rb +18 -0
- data/lib/legion/llm/compat.rb +112 -0
- data/lib/legion/llm/config/settings.rb +341 -0
- data/lib/legion/llm/config.rb +46 -0
- data/lib/legion/llm/context/compressor.rb +205 -0
- data/lib/legion/llm/context/curator.rb +332 -0
- data/lib/legion/llm/context.rb +11 -0
- data/lib/legion/llm/discovery.rb +189 -0
- data/lib/legion/llm/fleet/dispatcher.rb +5 -6
- data/lib/legion/llm/fleet/handler.rb +1 -6
- data/lib/legion/llm/fleet.rb +28 -9
- data/lib/legion/llm/helper.rb +5 -5
- data/lib/legion/llm/hooks/budget_guard.rb +3 -3
- data/lib/legion/llm/hooks/cost_tracking.rb +15 -10
- data/lib/legion/llm/hooks/metering.rb +42 -40
- data/lib/legion/llm/hooks.rb +10 -7
- data/lib/legion/llm/{pipeline → inference}/audit_publisher.rb +20 -4
- data/lib/legion/llm/inference/conversation.rb +550 -0
- data/lib/legion/llm/{pipeline → inference}/enrichment_injector.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/executor.rb +121 -73
- data/lib/legion/llm/{pipeline → inference}/gaia_caller.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/profile.rb +1 -1
- data/lib/legion/llm/inference/prompt.rb +222 -0
- data/lib/legion/llm/{pipeline → inference}/request.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/response.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/billing.rb +2 -2
- data/lib/legion/llm/{pipeline → inference}/steps/classification.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/confidence_scoring.rb +2 -2
- data/lib/legion/llm/{pipeline → inference}/steps/debate.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/gaia_advisory.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/knowledge_capture.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/mcp_discovery.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/metering.rb +2 -1
- data/lib/legion/llm/{pipeline → inference}/steps/post_response.rb +22 -22
- data/lib/legion/llm/{pipeline → inference}/steps/prompt_cache.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/rag_context.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/rag_guard.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/rbac.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/skill_injector.rb +4 -4
- data/lib/legion/llm/{pipeline → inference}/steps/span_annotator.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/sticky_helpers.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/sticky_persist.rb +3 -3
- data/lib/legion/llm/{pipeline → inference}/steps/sticky_runners.rb +4 -4
- data/lib/legion/llm/{pipeline → inference}/steps/tier_assigner.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/token_budget.rb +4 -4
- data/lib/legion/llm/{pipeline → inference}/steps/tool_calls.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/tool_discovery.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps/tool_history.rb +2 -2
- data/lib/legion/llm/{pipeline → inference}/steps/trigger_match.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/steps.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/timeline.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/tool_adapter.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/tool_dispatcher.rb +1 -1
- data/lib/legion/llm/{pipeline → inference}/tracing.rb +1 -1
- data/lib/legion/llm/inference.rb +736 -0
- data/lib/legion/llm/metering/estimator.rb +53 -0
- data/lib/legion/llm/metering/tokens.rb +122 -0
- data/lib/legion/llm/metering/tracker.rb +101 -0
- data/lib/legion/llm/metering.rb +76 -7
- data/lib/legion/llm/quality/checker.rb +85 -0
- data/lib/legion/llm/quality/confidence/score.rb +53 -0
- data/lib/legion/llm/quality/confidence/scorer.rb +239 -0
- data/lib/legion/llm/quality/shadow_eval.rb +133 -0
- data/lib/legion/llm/quality.rb +13 -0
- data/lib/legion/llm/router/arbitrage.rb +117 -0
- data/lib/legion/llm/router.rb +1 -1
- data/lib/legion/llm/scheduling/batch.rb +180 -0
- data/lib/legion/llm/scheduling/off_peak.rb +37 -0
- data/lib/legion/llm/skills/base.rb +5 -5
- data/lib/legion/llm/tools/confidence.rb +179 -0
- data/lib/legion/llm/tools/dispatcher.rb +5 -5
- data/lib/legion/llm/tools.rb +13 -0
- data/lib/legion/llm/transport/exchanges/escalation.rb +7 -2
- data/lib/legion/llm/transport/exchanges/fleet.rb +14 -0
- data/lib/legion/llm/transport/messages/fleet_error.rb +63 -0
- data/lib/legion/llm/transport/messages/fleet_request.rb +32 -0
- data/lib/legion/llm/transport/messages/fleet_response.rb +51 -0
- data/lib/legion/llm/transport/messages/metering_event.rb +34 -0
- data/lib/legion/llm/transport/messages/prompt_event.rb +58 -0
- data/lib/legion/llm/transport/messages/skill_event.rb +46 -0
- data/lib/legion/llm/transport/messages/tool_event.rb +48 -0
- data/lib/legion/llm/transport.rb +19 -0
- data/lib/legion/llm/types/chunk.rb +45 -0
- data/lib/legion/llm/types/content_block.rb +55 -0
- data/lib/legion/llm/types/message.rb +73 -0
- data/lib/legion/llm/types/tool_call.rb +69 -0
- data/lib/legion/llm/types.rb +13 -0
- data/lib/legion/llm/version.rb +1 -1
- data/lib/legion/llm.rb +102 -1055
- metadata +105 -79
- data/lib/legion/llm/arbitrage.rb +0 -115
- data/lib/legion/llm/audit/exchange.rb +0 -11
- data/lib/legion/llm/audit/prompt_event.rb +0 -56
- data/lib/legion/llm/audit/skill_event.rb +0 -44
- data/lib/legion/llm/audit/tool_event.rb +0 -46
- data/lib/legion/llm/batch.rb +0 -178
- data/lib/legion/llm/claude_config_loader.rb +0 -63
- data/lib/legion/llm/codex_config_loader.rb +0 -111
- data/lib/legion/llm/compressor.rb +0 -203
- data/lib/legion/llm/confidence_score.rb +0 -49
- data/lib/legion/llm/confidence_scorer.rb +0 -235
- data/lib/legion/llm/context_curator.rb +0 -313
- data/lib/legion/llm/conversation_store.rb +0 -548
- data/lib/legion/llm/cost_estimator.rb +0 -51
- data/lib/legion/llm/cost_tracker.rb +0 -99
- data/lib/legion/llm/daemon_client.rb +0 -249
- data/lib/legion/llm/embeddings.rb +0 -481
- data/lib/legion/llm/fleet/error.rb +0 -61
- data/lib/legion/llm/fleet/exchange.rb +0 -12
- data/lib/legion/llm/fleet/request.rb +0 -30
- data/lib/legion/llm/fleet/response.rb +0 -49
- data/lib/legion/llm/metering/event.rb +0 -32
- data/lib/legion/llm/metering/exchange.rb +0 -11
- data/lib/legion/llm/native_dispatch.rb +0 -140
- data/lib/legion/llm/off_peak.rb +0 -35
- data/lib/legion/llm/override_confidence.rb +0 -177
- data/lib/legion/llm/pipeline.rb +0 -22
- data/lib/legion/llm/prompt.rb +0 -220
- data/lib/legion/llm/provider_registry.rb +0 -40
- data/lib/legion/llm/providers.rb +0 -260
- data/lib/legion/llm/quality_checker.rb +0 -83
- data/lib/legion/llm/response_cache.rb +0 -149
- data/lib/legion/llm/routes.rb +0 -757
- data/lib/legion/llm/settings.rb +0 -328
- data/lib/legion/llm/shadow_eval.rb +0 -131
- data/lib/legion/llm/structured_output.rb +0 -81
- data/lib/legion/llm/token_tracker.rb +0 -120
- /data/lib/legion/llm/{pipeline → inference}/mcp_tool_adapter.rb +0 -0
- /data/lib/legion/llm/{usage.rb → metering/usage.rb} +0 -0
- /data/lib/legion/llm/router/{escalation_chain.rb → escalation/chain.rb} +0 -0
- /data/lib/legion/llm/{escalation_history.rb → router/escalation/history.rb} +0 -0
- /data/lib/legion/llm/{escalation_tracker.rb → router/escalation/tracker.rb} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1f4cfb7a48671fc213ac771f1a54ba51d32ef66347322f7dfe689c191aac985b
|
|
4
|
+
data.tar.gz: 76b803cf30c5ab6530e1d0a8e6cc11b63336f28742250a1b998a3f2e15436606
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8923f72f753ea79dc46d2d91e876b910fb586e1aa1f77cac8a2b6e6a6dfb462d7793ae186bbd625f2dd6d29ee14f359369c248320b4f7a73801b81eb6567af80
|
|
7
|
+
data.tar.gz: d540dffa079681b3cb593cb294c813b697a41a47fb24ee15bbe48c507605551e476fc34dbfed9ef94d00321eecc778b074a6d04e85261d5daa992dc84bb6fa04
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
# Legion LLM Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.8.0] - 2026-04-21
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- BREAKING: Module hierarchy restructured — see compat.rb for full alias list
|
|
7
|
+
- Dead `lex-llm-gateway` references removed
|
|
8
|
+
- `hooks/metering.rb` + `hooks/cost_tracking.rb` collapsed into `Metering.install_hook`
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- OpenAI-compatible API: POST /v1/chat/completions, GET /v1/models, POST /v1/embeddings
|
|
12
|
+
- Anthropic-compatible API: POST /v1/messages
|
|
13
|
+
- Config-driven /v1/ auth: settings[:llm][:api][:auth]
|
|
14
|
+
- Backward compat aliases via compat.rb with deprecation warnings
|
|
4
15
|
|
|
5
16
|
## [0.7.15] - 2026-04-20
|
|
6
17
|
|