lex-llm-mlx 0.1.1 → 0.1.3

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: dbaecce67d7aabb1cf22242f37299766175bcf457c20705d19c063a4193a2ac5
4
- data.tar.gz: 228d1dfc49a0e4c224924ae04a019ff318aac6796e7112e5a967fbf10a5be4a1
3
+ metadata.gz: c278a29838c21de426034f06f316f4e9e119317f2551ef9040522f9bb304d605
4
+ data.tar.gz: 25151910ac50c46cb5276e1b78a0a2d37a65aaf2d2b536493369b0ffd8136985
5
5
  SHA512:
6
- metadata.gz: b77edb64a1aafdb185e6f6443e0e22ba3aeea26776c54ed75fc77e6a9f3a9664e44620bccee93c6bd730ebde9ff7723e717dac66e30906db3e434f3175049c42
7
- data.tar.gz: 855d76ac2387ecbbfa3e01bded13e1cc23be634106a37d39d24467dfdc8b51d49b06ede73e91d57cc4288322cddbc2465ab70129b5929a581a891de5f71325b2
6
+ metadata.gz: 4bd51bf199594f179c820344d11bb9c81d24eb553cfffc8a9766f3baf693cde1f3479b64fd88805fa7d501a3d336bdec8e9bc64f3d8b4b21b446770de9f10336
7
+ data.tar.gz: d9c87b7aac38d4e62bbbe8afd3cc7ecc78aeb2886ecfd6d41a9f5d3f6840df06193262614f0885f87e30a391fb5011518cedd180d30d4ee97840cc5ca98e2b30
data/.gitignore CHANGED
@@ -3,6 +3,7 @@
3
3
  /pkg/
4
4
  /tmp/
5
5
  Gemfile.lock
6
+ *.gem
6
7
 
7
8
  .rspec_status*
8
9
  .env
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.3 - 2026-04-28
4
+
5
+ - Remove the leftover compatibility entrypoint outside the Legion namespace.
6
+ - Load specs through the canonical `legion/extensions/llm/mlx` namespace path.
7
+ - Keep provider gemspec dependencies scoped to the shared `lex-llm` base gem.
8
+
9
+ ## 0.1.2 - 2026-04-28
10
+
11
+ - Replace fork-era namespace references with the standard Legion::Extensions::Llm provider contract.
12
+ - Remove GitHub-based lex-llm Gemfile fallback so test installs use only a guarded local path or released gem dependency.
13
+ - Require lex-llm >= 0.1.3 for the cleaned Legion-native base extension.
14
+
3
15
  ## 0.1.1 - 2026-04-27
4
16
 
5
17
  - Add a local MLX OpenAI-compatible provider class with chat, streaming, model listing, embeddings, and health endpoint helpers.
data/Gemfile CHANGED
@@ -3,12 +3,8 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  group :test do
6
- if ENV['LEX_LLM_PATH'] && File.directory?(ENV.fetch('LEX_LLM_PATH'))
7
- gem 'lex-llm', path: ENV.fetch('LEX_LLM_PATH')
8
- else
9
- gem 'lex-llm', git: 'https://github.com/LegionIO/lex-llm',
10
- branch: ENV.fetch('LEX_LLM_BRANCH', 'main')
11
- end
6
+ llm_base_path = ENV.fetch('LEX_LLM_PATH', File.expand_path('../lex-llm', __dir__))
7
+ gem 'lex-llm', path: llm_base_path if File.directory?(llm_base_path)
12
8
  end
13
9
 
14
10
  gemspec
data/README.md CHANGED
@@ -4,6 +4,8 @@ LegionIO LLM provider extension for MLX-backed OpenAI-compatible servers on Appl
4
4
 
5
5
  This gem lives under `Legion::Extensions::Llm::Mlx` and depends on `lex-llm` for shared provider-neutral routing, fleet, and schema primitives.
6
6
 
7
+ Load it with `require 'legion/extensions/llm/mlx'`.
8
+
7
9
  ## What It Provides
8
10
 
9
11
  - `Legion::Extensions::Llm::Mlx::Provider`, registered as `:mlx`.
@@ -22,7 +24,7 @@ Defaults target `http://localhost:8000`, mark the provider as `:local`, and allo
22
24
  ## Configuration
23
25
 
24
26
  ```ruby
25
- LexLLM.configure do |config|
27
+ Legion::Extensions::Llm.configure do |config|
26
28
  config.mlx_api_base = 'http://localhost:8000'
27
29
  config.mlx_api_key = ENV['MLX_API_KEY']
28
30
  end
@@ -37,4 +39,4 @@ end
37
39
  - `embedding_url`: `/v1/embeddings`
38
40
  - `health_url`: `/health`
39
41
 
40
- The provider uses the shared `LexLLM::Provider::OpenAICompatible` adapter so Legion routing can treat MLX, vLLM, OpenAI, and other compatible servers consistently while preserving provider-specific settings and health behavior.
42
+ The provider uses the shared `Legion::Extensions::Llm::Provider::OpenAICompatible` adapter so Legion routing can treat MLX, vLLM, OpenAI, and other compatible servers consistently while preserving provider-specific settings and health behavior.
data/lex-llm-mlx.gemspec CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |spec|
7
7
  spec.version = Legion::Extensions::Llm::Mlx::VERSION
8
8
  spec.authors = ['LegionIO']
9
9
  spec.email = ['matthewdiverson@gmail.com']
10
- spec.summary = 'LegionIO LLM Mlx provider extension'
11
- spec.description = 'Mlx provider integration for the LegionIO LLM routing framework.'
10
+ spec.summary = 'LegionIO LLM MLX provider extension'
11
+ spec.description = 'MLX provider integration for the LegionIO LLM routing framework.'
12
12
  spec.homepage = 'https://github.com/LegionIO/lex-llm-mlx'
13
13
  spec.license = 'MIT'
14
14
  spec.required_ruby_version = '>= 3.4'
@@ -23,9 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.files = `git ls-files -z`.split("\x0").reject { |file| file.match(%r{^(spec|test|features|tmp|coverage)/}) }
24
24
  spec.require_paths = ['lib']
25
25
 
26
- spec.add_dependency 'faraday', '>= 2.0'
27
- spec.add_dependency 'legion-json', '>= 1.0'
28
- spec.add_dependency 'legion-logging', '>= 1.0'
29
- spec.add_dependency 'legion-settings', '>= 1.3.14'
30
- spec.add_dependency 'lex-llm', '>= 0.1.2'
26
+ spec.add_dependency 'lex-llm', '>= 0.1.3'
31
27
  end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lex_llm'
3
+ require 'legion/extensions/llm'
4
4
 
5
5
  module Legion
6
6
  module Extensions
7
7
  module Llm
8
8
  module Mlx
9
9
  # MLX provider implementation for local OpenAI-compatible servers.
10
- class Provider < LexLLM::Provider
11
- include LexLLM::Provider::OpenAICompatible
10
+ class Provider < Legion::Extensions::Llm::Provider
11
+ include Legion::Extensions::Llm::Provider::OpenAICompatible
12
12
 
13
13
  class << self
14
14
  def slug = 'mlx'
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Llm
6
6
  module Mlx
7
- VERSION = '0.1.1'
7
+ VERSION = '0.1.3'
8
8
  end
9
9
  end
10
10
  end
@@ -34,5 +34,5 @@ module Legion
34
34
  end
35
35
  end
36
36
 
37
- LexLLM::Provider.register(Legion::Extensions::Llm::Mlx::PROVIDER_FAMILY,
38
- Legion::Extensions::Llm::Mlx::Provider)
37
+ Legion::Extensions::Llm::Provider.register(Legion::Extensions::Llm::Mlx::PROVIDER_FAMILY,
38
+ Legion::Extensions::Llm::Mlx::Provider)
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.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - LegionIO
@@ -9,77 +9,21 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
- - !ruby/object:Gem::Dependency
13
- name: faraday
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - ">="
17
- - !ruby/object:Gem::Version
18
- version: '2.0'
19
- type: :runtime
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: '2.0'
26
- - !ruby/object:Gem::Dependency
27
- name: legion-json
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: '1.0'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '1.0'
40
- - !ruby/object:Gem::Dependency
41
- name: legion-logging
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: '1.0'
47
- type: :runtime
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '1.0'
54
- - !ruby/object:Gem::Dependency
55
- name: legion-settings
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 1.3.14
61
- type: :runtime
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: 1.3.14
68
12
  - !ruby/object:Gem::Dependency
69
13
  name: lex-llm
70
14
  requirement: !ruby/object:Gem::Requirement
71
15
  requirements:
72
16
  - - ">="
73
17
  - !ruby/object:Gem::Version
74
- version: 0.1.2
18
+ version: 0.1.3
75
19
  type: :runtime
76
20
  prerelease: false
77
21
  version_requirements: !ruby/object:Gem::Requirement
78
22
  requirements:
79
23
  - - ">="
80
24
  - !ruby/object:Gem::Version
81
- version: 0.1.2
82
- description: Mlx provider integration for the LegionIO LLM routing framework.
25
+ version: 0.1.3
26
+ description: MLX provider integration for the LegionIO LLM routing framework.
83
27
  email:
84
28
  - matthewdiverson@gmail.com
85
29
  executables: []
@@ -99,7 +43,6 @@ files:
99
43
  - lib/legion/extensions/llm/mlx.rb
100
44
  - lib/legion/extensions/llm/mlx/provider.rb
101
45
  - lib/legion/extensions/llm/mlx/version.rb
102
- - lib/lex_llm_mlx.rb
103
46
  homepage: https://github.com/LegionIO/lex-llm-mlx
104
47
  licenses:
105
48
  - MIT
@@ -126,5 +69,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
69
  requirements: []
127
70
  rubygems_version: 3.6.9
128
71
  specification_version: 4
129
- summary: LegionIO LLM Mlx provider extension
72
+ summary: LegionIO LLM MLX provider extension
130
73
  test_files: []
data/lib/lex_llm_mlx.rb DELETED
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'legion/extensions/llm/mlx'