lex-llm-mlx 0.3.6 → 0.3.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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c8354f75f1c60440525ccd50a2db7460fc078a2d6e8c1b831d3ce842668a71b
|
|
4
|
+
data.tar.gz: ab0e2e741551a033851685c8b2ad32d52a3d0addef5c17c36bd7a496d5aad8ff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1e7f880272085c55b6197e3013e1b5c44e6aa8baefdcd8c060b74f7a1cb96eeba8322360d3997f6b2c367286fd43e9f1b0ee6fa5c79fac4915e7dcd4535d89f4
|
|
7
|
+
data.tar.gz: 67b196e176f19ad2eff3c18c8eb072226b56d578a20603d7fe0c7f1daa7079b1ccd1310b9c0c0b09808ad7a0a10d5a3a73b8112be68da8b86199b97a1f1ee639
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.8 - 2026-06-02
|
|
4
|
+
|
|
5
|
+
- Add per-provider scoped discovery refresh actor
|
|
6
|
+
|
|
7
|
+
## 0.3.7 - 2026-05-21
|
|
8
|
+
|
|
9
|
+
- Add `default_transport`/`default_tier` class declarations
|
|
10
|
+
- api_base reads from settings[:endpoint] fallback
|
|
11
|
+
- Identity headers included via base provider
|
|
12
|
+
|
|
13
|
+
|
|
3
14
|
## 0.3.6 - 2026-05-08
|
|
4
15
|
|
|
5
16
|
- Accept keyword arguments in `list_models` to match the base provider contract called by `discover_offerings`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
begin
|
|
4
|
+
require 'legion/extensions/actors/every'
|
|
5
|
+
rescue LoadError => e
|
|
6
|
+
warn(e.message) if $VERBOSE
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
return unless defined?(Legion::Extensions::Actors::Every)
|
|
10
|
+
|
|
11
|
+
module Legion
|
|
12
|
+
module Extensions
|
|
13
|
+
module Llm
|
|
14
|
+
module Mlx
|
|
15
|
+
module Actor
|
|
16
|
+
class DiscoveryRefresh < Legion::Extensions::Actors::Every # rubocop:disable Style/Documentation
|
|
17
|
+
include Legion::Logging::Helper
|
|
18
|
+
|
|
19
|
+
REFRESH_INTERVAL = 1800
|
|
20
|
+
|
|
21
|
+
def runner_class = self.class
|
|
22
|
+
def runner_function = 'manual'
|
|
23
|
+
def run_now? = true
|
|
24
|
+
def use_runner? = false
|
|
25
|
+
def check_subtask? = false
|
|
26
|
+
def generate_task? = false
|
|
27
|
+
|
|
28
|
+
def time
|
|
29
|
+
return REFRESH_INTERVAL unless defined?(Legion::Settings)
|
|
30
|
+
|
|
31
|
+
Legion::Settings.dig(:extensions, :llm, :mlx, :discovery_interval) || REFRESH_INTERVAL
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def manual
|
|
35
|
+
log.debug('[mlx][discovery_refresh] refreshing model list')
|
|
36
|
+
return unless defined?(Legion::LLM::Discovery)
|
|
37
|
+
|
|
38
|
+
Legion::LLM::Discovery.refresh_discovered_models!(provider: :mlx)
|
|
39
|
+
rescue StandardError => e
|
|
40
|
+
handle_exception(e, level: :warn, handled: true, operation: 'mlx.actor.discovery_refresh')
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -15,6 +15,8 @@ module Legion
|
|
|
15
15
|
|
|
16
16
|
def slug = 'mlx'
|
|
17
17
|
def local? = true
|
|
18
|
+
def default_transport = :http
|
|
19
|
+
def default_tier = :local
|
|
18
20
|
def configuration_options = %i[mlx_api_base mlx_api_key]
|
|
19
21
|
def configuration_requirements = []
|
|
20
22
|
def capabilities = Capabilities
|
|
@@ -53,14 +55,14 @@ module Legion
|
|
|
53
55
|
end
|
|
54
56
|
|
|
55
57
|
def api_base
|
|
56
|
-
normalize_url(config.mlx_api_base || 'localhost:8000')
|
|
58
|
+
normalize_url(config.mlx_api_base || settings[:endpoint] || 'http://localhost:8000')
|
|
57
59
|
end
|
|
58
60
|
|
|
59
61
|
def headers
|
|
62
|
+
hdrs = identity_headers
|
|
60
63
|
token = config.mlx_api_key
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{ 'Authorization' => "Bearer #{token}" }
|
|
64
|
+
hdrs['Authorization'] = "Bearer #{token}" unless token.nil? || token.to_s.empty?
|
|
65
|
+
hdrs
|
|
64
66
|
end
|
|
65
67
|
|
|
66
68
|
def health_url = '/health'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-llm-mlx
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LegionIO
|
|
@@ -97,6 +97,7 @@ files:
|
|
|
97
97
|
- README.md
|
|
98
98
|
- lex-llm-mlx.gemspec
|
|
99
99
|
- lib/legion/extensions/llm/mlx.rb
|
|
100
|
+
- lib/legion/extensions/llm/mlx/actors/discovery_refresh.rb
|
|
100
101
|
- lib/legion/extensions/llm/mlx/actors/fleet_worker.rb
|
|
101
102
|
- lib/legion/extensions/llm/mlx/provider.rb
|
|
102
103
|
- lib/legion/extensions/llm/mlx/runners/fleet_worker.rb
|