lex-llm-mlx 0.1.3 → 0.1.5

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: c278a29838c21de426034f06f316f4e9e119317f2551ef9040522f9bb304d605
4
- data.tar.gz: 25151910ac50c46cb5276e1b78a0a2d37a65aaf2d2b536493369b0ffd8136985
3
+ metadata.gz: f02dcdce8e8d6c755dfc0823ad9f22cfda099675efa26c09a39de9573ba484cb
4
+ data.tar.gz: a32ce7c861f05eb42bb73253b15e4c9b2b078e583456d4f135d01ea52fcf48a4
5
5
  SHA512:
6
- metadata.gz: 4bd51bf199594f179c820344d11bb9c81d24eb553cfffc8a9766f3baf693cde1f3479b64fd88805fa7d501a3d336bdec8e9bc64f3d8b4b21b446770de9f10336
7
- data.tar.gz: d9c87b7aac38d4e62bbbe8afd3cc7ecc78aeb2886ecfd6d41a9f5d3f6840df06193262614f0885f87e30a391fb5011518cedd180d30d4ee97840cc5ca98e2b30
6
+ metadata.gz: 96cf438ecdc6f331304fafe09bfd46c9baf56992dcb46ecc5b901bda4775e4566dd1adfeebcccf74d59a234bdeacc9f751b540201b3b6209c9f6ca89bfa7a44d
7
+ data.tar.gz: aa4b04058524f283e52974b4feb5b16d02c6b1ddcab8191bce7c8fc5e8f0f587fdd08a7b3109ec9978973ce8d8391a21d1dfcec09c9da31eada0ef15783995b6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.5 - 2026-04-28
4
+
5
+ - Require current shared Legion JSON, logging, settings, and `lex-llm >= 0.1.5` runtime dependencies.
6
+
7
+ ## 0.1.4 - 2026-04-28
8
+
9
+ - Require `lex-llm >= 0.1.4` so OpenAI-compatible model discovery exposes normalized capabilities and modalities.
10
+ - Add explicit chat and embedding model capability mapping for MLX routing metadata.
11
+
3
12
  ## 0.1.3 - 2026-04-28
4
13
 
5
14
  - Remove the leftover compatibility entrypoint outside the Legion namespace.
data/README.md CHANGED
@@ -10,6 +10,7 @@ Load it with `require 'legion/extensions/llm/mlx'`.
10
10
 
11
11
  - `Legion::Extensions::Llm::Mlx::Provider`, registered as `:mlx`.
12
12
  - OpenAI-compatible chat, streaming, model listing, and embeddings endpoint wrappers.
13
+ - Heuristic chat, embedding, and vision capability mapping for discovered local models.
13
14
  - Local-first defaults for MLX servers running on MacBook, Mac Studio, or local Apple Silicon hosts.
14
15
  - Shared Legion settings, JSON, and logging dependencies.
15
16
 
data/lex-llm-mlx.gemspec CHANGED
@@ -23,5 +23,8 @@ 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 'lex-llm', '>= 0.1.3'
26
+ spec.add_dependency 'legion-json', '>= 1.2.1'
27
+ spec.add_dependency 'legion-logging', '>= 1.3.2'
28
+ spec.add_dependency 'legion-settings', '>= 1.3.14'
29
+ spec.add_dependency 'lex-llm', '>= 0.1.5'
27
30
  end
@@ -25,9 +25,18 @@ module Legion
25
25
  def chat?(model) = !embeddings?(model)
26
26
  def streaming?(model) = chat?(model)
27
27
  def vision?(model) = model_id(model).match?(/vlm|vision|llava|pixtral|qwen.*vl/i)
28
- def functions?(_model) = true
28
+ def functions?(model) = chat?(model)
29
29
  def embeddings?(model) = model_id(model).match?(/embed|bge|e5|nomic/i)
30
30
 
31
+ def critical_capabilities_for(model)
32
+ [
33
+ ('streaming' if streaming?(model)),
34
+ ('function_calling' if functions?(model)),
35
+ ('vision' if vision?(model)),
36
+ ('embeddings' if embeddings?(model))
37
+ ].compact
38
+ end
39
+
31
40
  def model_id(model)
32
41
  model.respond_to?(:id) ? model.id.to_s : model.to_s
33
42
  end
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Llm
6
6
  module Mlx
7
- VERSION = '0.1.3'
7
+ VERSION = '0.1.5'
8
8
  end
9
9
  end
10
10
  end
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.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - LegionIO
@@ -9,20 +9,62 @@ 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: legion-json
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 1.2.1
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 1.2.1
26
+ - !ruby/object:Gem::Dependency
27
+ name: legion-logging
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.3.2
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.3.2
40
+ - !ruby/object:Gem::Dependency
41
+ name: legion-settings
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.3.14
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.3.14
12
54
  - !ruby/object:Gem::Dependency
13
55
  name: lex-llm
14
56
  requirement: !ruby/object:Gem::Requirement
15
57
  requirements:
16
58
  - - ">="
17
59
  - !ruby/object:Gem::Version
18
- version: 0.1.3
60
+ version: 0.1.5
19
61
  type: :runtime
20
62
  prerelease: false
21
63
  version_requirements: !ruby/object:Gem::Requirement
22
64
  requirements:
23
65
  - - ">="
24
66
  - !ruby/object:Gem::Version
25
- version: 0.1.3
67
+ version: 0.1.5
26
68
  description: MLX provider integration for the LegionIO LLM routing framework.
27
69
  email:
28
70
  - matthewdiverson@gmail.com