lex-llm-anthropic 0.2.20 → 0.2.21
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 +5 -0
- data/lex-llm-anthropic.gemspec +1 -1
- data/lib/legion/extensions/llm/anthropic/version.rb +1 -1
- data/lib/legion/extensions/llm/anthropic.rb +15 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 03b981bffa993167ee00d0bb4b122f4a92c55ed978a082d35ee3fb1237afba49
|
|
4
|
+
data.tar.gz: 9c3d7c381087b3eab19acdb504b85670c97833aff725c604c1551cb109fcf677
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7dab8f8bd7972ea48ce388f3fe72688d21ad2a7c960fef5112673f71bbf2f356aa233a5e00d73c99e766e8ae1b6003a86e1afb258f31cbc153a4c861dcb60f06
|
|
7
|
+
data.tar.gz: 1e1eed5d32c804b2a030ead997aa1a1be86692e13333842a0ad6517a78e94a1307fa919e2791d0c3b2a917778735deb0b35f63638ffcc486d806709eb091c217
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.21 - 2026-06-17
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- **Policy-aware default model** — `default_model` is no longer a hardcoded literal forced via `||=`. The `claude-sonnet-4-6` fallback is now a named `DEFAULT_MODEL` constant applied through `Provider.policy_safe_default_model`, so a configured `model_whitelist`/`model_blacklist` is never overridden: if neither the configured default nor the fallback is permitted, `default_model` is left unset and routing resolves an allowed discovered model instead. (Fixes the case where a haiku-only whitelist still surfaced a sonnet default.) Requires lex-llm >= 0.5.4.
|
|
7
|
+
|
|
3
8
|
## 0.2.20 - 2026-06-16
|
|
4
9
|
|
|
5
10
|
- dependency updates, code quality improvements
|
data/lex-llm-anthropic.gemspec
CHANGED
|
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.add_dependency 'legion-logging', '>= 1.3.2'
|
|
28
28
|
spec.add_dependency 'legion-settings', '>= 1.3.14'
|
|
29
29
|
spec.add_dependency 'legion-transport', '>= 1.4.14'
|
|
30
|
-
spec.add_dependency 'lex-llm', '>= 0.5.
|
|
30
|
+
spec.add_dependency 'lex-llm', '>= 0.5.4'
|
|
31
31
|
end
|
|
@@ -17,12 +17,16 @@ module Legion
|
|
|
17
17
|
extend Legion::Extensions::Llm::AutoRegistration
|
|
18
18
|
|
|
19
19
|
PROVIDER_FAMILY = :anthropic
|
|
20
|
+
# Provider's preferred default when the operator configures none. Used only
|
|
21
|
+
# as a fallback and only when the configured model policy permits it
|
|
22
|
+
# (see resolve_default_model) — a whitelist/blacklist is never overridden.
|
|
23
|
+
DEFAULT_MODEL = 'claude-sonnet-4-6'
|
|
20
24
|
|
|
21
25
|
def self.default_settings
|
|
22
26
|
::Legion::Extensions::Llm.provider_settings(
|
|
23
27
|
family: PROVIDER_FAMILY,
|
|
24
28
|
instance: {
|
|
25
|
-
default_model:
|
|
29
|
+
default_model: DEFAULT_MODEL,
|
|
26
30
|
endpoint: 'https://api.anthropic.com',
|
|
27
31
|
api_version: '2023-10-16',
|
|
28
32
|
default_max_tokens: 4096,
|
|
@@ -117,11 +121,20 @@ module Legion
|
|
|
117
121
|
CredentialSources.dedup_credentials(candidates).transform_values do |config|
|
|
118
122
|
sanitized = sanitize_instance_config(config)
|
|
119
123
|
sanitized[:capabilities] ||= %i[completion streaming vision tools].freeze
|
|
120
|
-
sanitized[:default_model]
|
|
124
|
+
sanitized[:default_model] = resolve_default_model(sanitized)
|
|
121
125
|
sanitized
|
|
122
126
|
end
|
|
123
127
|
end
|
|
124
128
|
|
|
129
|
+
# Resolve a default_model that never violates the configured model policy
|
|
130
|
+
# (whitelist/blacklist stays authoritative over the DEFAULT_MODEL fallback).
|
|
131
|
+
def self.resolve_default_model(config)
|
|
132
|
+
provider_class.policy_safe_default_model(
|
|
133
|
+
configured: config[:default_model], fallback: DEFAULT_MODEL,
|
|
134
|
+
**provider_class.model_policy(config, PROVIDER_FAMILY)
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
|
|
125
138
|
def self.settings_instances(config)
|
|
126
139
|
instances = config[:instances] || config['instances']
|
|
127
140
|
instances.is_a?(Hash) ? instances : {}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-llm-anthropic
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.21
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LegionIO
|
|
@@ -71,14 +71,14 @@ dependencies:
|
|
|
71
71
|
requirements:
|
|
72
72
|
- - ">="
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.5.
|
|
74
|
+
version: 0.5.4
|
|
75
75
|
type: :runtime
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - ">="
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.5.
|
|
81
|
+
version: 0.5.4
|
|
82
82
|
description: Anthropic provider integration for the LegionIO LLM routing framework.
|
|
83
83
|
email:
|
|
84
84
|
- matthewdiverson@gmail.com
|