lex-llm-openai 0.1.2 → 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 +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile +2 -2
- data/README.md +4 -1
- data/lex-llm-openai.gemspec +5 -6
- data/lib/legion/extensions/llm/openai/provider.rb +2 -1
- data/lib/legion/extensions/llm/openai/version.rb +1 -1
- metadata +9 -24
- data/lib/lex_llm_openai.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c5c4c967fa4c326ac27a3d6fb173633fa09d0764524114cbb77d6ff57c4b4572
|
|
4
|
+
data.tar.gz: caeb6a5267ec2935d656f60e5b714c186fbfcb4bd13626ced597c690e89d4a28
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 458798f17517adb689c8afbe24b0c16b3eb66f60405b9af6ab2a319a1d1a3b51dafb430051e67939e49754d9457d0768c0515c05ee94ecd6d03722452c471e91
|
|
7
|
+
data.tar.gz: 580d034e4de07aa658f50924ebb751e8ea6ebfde066bd77a1f29b309d90b62eed27d2ab9d9824e9d0761f3ca409e03dabc840374cd6f60f35e42241e44200a82
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
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 model discovery exposes normalized capabilities and modalities.
|
|
10
|
+
- Cover discovered chat and embedding model metadata mapping for routing.
|
|
11
|
+
|
|
12
|
+
## 0.1.3 - 2026-04-28
|
|
13
|
+
|
|
14
|
+
- Remove the leftover compatibility entrypoint outside the Legion namespace.
|
|
15
|
+
- Load specs through the canonical `legion/extensions/llm/openai` namespace path.
|
|
16
|
+
- Keep provider gemspec dependencies scoped to the shared `lex-llm` base gem.
|
|
17
|
+
|
|
3
18
|
## 0.1.2 - 2026-04-28
|
|
4
19
|
|
|
5
20
|
- Replace fork-era namespace references with the standard Legion::Extensions::Llm provider contract.
|
data/Gemfile
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
source 'https://rubygems.org'
|
|
4
4
|
|
|
5
5
|
group :test do
|
|
6
|
-
|
|
7
|
-
gem 'lex-llm', path:
|
|
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)
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
gemspec
|
data/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# lex-llm-openai
|
|
2
2
|
|
|
3
|
-
LegionIO LLM provider extension for
|
|
3
|
+
LegionIO LLM provider extension for OpenAI.
|
|
4
4
|
|
|
5
5
|
This gem lives under `Legion::Extensions::Llm::Openai` and depends on `lex-llm` for shared provider-neutral routing, fleet, and schema primitives.
|
|
6
6
|
|
|
7
|
+
Load it with `require 'legion/extensions/llm/openai'`.
|
|
8
|
+
|
|
7
9
|
## What It Provides
|
|
8
10
|
|
|
9
11
|
- `Legion::Extensions::Llm::Provider` registration as `:openai`
|
|
@@ -18,6 +20,7 @@ This gem lives under `Legion::Extensions::Llm::Openai` and depends on `lex-llm`
|
|
|
18
20
|
- image variation endpoint helper for `POST /v1/images/variations`
|
|
19
21
|
- audio transcription through `POST /v1/audio/transcriptions`
|
|
20
22
|
- shared OpenAI-compatible request/response mapping via `Legion::Extensions::Llm::Provider::OpenAICompatible`
|
|
23
|
+
- normalized chat, embedding, moderation, image, and audio capability mapping for discovered models
|
|
21
24
|
- shared fleet/default settings via `Legion::Extensions::Llm.provider_settings`
|
|
22
25
|
|
|
23
26
|
## Defaults
|
data/lex-llm-openai.gemspec
CHANGED
|
@@ -7,8 +7,8 @@ Gem::Specification.new do |spec|
|
|
|
7
7
|
spec.version = Legion::Extensions::Llm::Openai::VERSION
|
|
8
8
|
spec.authors = ['LegionIO']
|
|
9
9
|
spec.email = ['matthewdiverson@gmail.com']
|
|
10
|
-
spec.summary = 'LegionIO LLM
|
|
11
|
-
spec.description = '
|
|
10
|
+
spec.summary = 'LegionIO LLM OpenAI provider extension'
|
|
11
|
+
spec.description = 'OpenAI provider integration for the LegionIO LLM routing framework.'
|
|
12
12
|
spec.homepage = 'https://github.com/LegionIO/lex-llm-openai'
|
|
13
13
|
spec.license = 'MIT'
|
|
14
14
|
spec.required_ruby_version = '>= 3.4'
|
|
@@ -23,9 +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 '
|
|
27
|
-
spec.add_dependency 'legion-
|
|
28
|
-
spec.add_dependency 'legion-logging', '>= 1.0'
|
|
26
|
+
spec.add_dependency 'legion-json', '>= 1.2.1'
|
|
27
|
+
spec.add_dependency 'legion-logging', '>= 1.3.2'
|
|
29
28
|
spec.add_dependency 'legion-settings', '>= 1.3.14'
|
|
30
|
-
spec.add_dependency 'lex-llm', '>= 0.1.
|
|
29
|
+
spec.add_dependency 'lex-llm', '>= 0.1.5'
|
|
31
30
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'legion/extensions/llm'
|
|
4
|
-
require 'legion/json'
|
|
5
4
|
|
|
6
5
|
module Legion
|
|
7
6
|
module Extensions
|
|
@@ -57,6 +56,8 @@ module Legion
|
|
|
57
56
|
end
|
|
58
57
|
|
|
59
58
|
def model_id(model)
|
|
59
|
+
return model.fetch('id', '') if model.is_a?(Hash)
|
|
60
|
+
|
|
60
61
|
model.respond_to?(:id) ? model.id.to_s : model.to_s
|
|
61
62
|
end
|
|
62
63
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-llm-openai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LegionIO
|
|
@@ -9,48 +9,34 @@ 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
12
|
- !ruby/object:Gem::Dependency
|
|
27
13
|
name: legion-json
|
|
28
14
|
requirement: !ruby/object:Gem::Requirement
|
|
29
15
|
requirements:
|
|
30
16
|
- - ">="
|
|
31
17
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
18
|
+
version: 1.2.1
|
|
33
19
|
type: :runtime
|
|
34
20
|
prerelease: false
|
|
35
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
22
|
requirements:
|
|
37
23
|
- - ">="
|
|
38
24
|
- !ruby/object:Gem::Version
|
|
39
|
-
version:
|
|
25
|
+
version: 1.2.1
|
|
40
26
|
- !ruby/object:Gem::Dependency
|
|
41
27
|
name: legion-logging
|
|
42
28
|
requirement: !ruby/object:Gem::Requirement
|
|
43
29
|
requirements:
|
|
44
30
|
- - ">="
|
|
45
31
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
32
|
+
version: 1.3.2
|
|
47
33
|
type: :runtime
|
|
48
34
|
prerelease: false
|
|
49
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
36
|
requirements:
|
|
51
37
|
- - ">="
|
|
52
38
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
39
|
+
version: 1.3.2
|
|
54
40
|
- !ruby/object:Gem::Dependency
|
|
55
41
|
name: legion-settings
|
|
56
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -71,15 +57,15 @@ dependencies:
|
|
|
71
57
|
requirements:
|
|
72
58
|
- - ">="
|
|
73
59
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.1.
|
|
60
|
+
version: 0.1.5
|
|
75
61
|
type: :runtime
|
|
76
62
|
prerelease: false
|
|
77
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
64
|
requirements:
|
|
79
65
|
- - ">="
|
|
80
66
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.1.
|
|
82
|
-
description:
|
|
67
|
+
version: 0.1.5
|
|
68
|
+
description: OpenAI provider integration for the LegionIO LLM routing framework.
|
|
83
69
|
email:
|
|
84
70
|
- matthewdiverson@gmail.com
|
|
85
71
|
executables: []
|
|
@@ -99,7 +85,6 @@ files:
|
|
|
99
85
|
- lib/legion/extensions/llm/openai.rb
|
|
100
86
|
- lib/legion/extensions/llm/openai/provider.rb
|
|
101
87
|
- lib/legion/extensions/llm/openai/version.rb
|
|
102
|
-
- lib/lex_llm_openai.rb
|
|
103
88
|
homepage: https://github.com/LegionIO/lex-llm-openai
|
|
104
89
|
licenses:
|
|
105
90
|
- MIT
|
|
@@ -126,5 +111,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
126
111
|
requirements: []
|
|
127
112
|
rubygems_version: 3.6.9
|
|
128
113
|
specification_version: 4
|
|
129
|
-
summary: LegionIO LLM
|
|
114
|
+
summary: LegionIO LLM OpenAI provider extension
|
|
130
115
|
test_files: []
|
data/lib/lex_llm_openai.rb
DELETED