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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eea342c6608890bacc0e4e6ba9b7540e2a43f5ea80c0375e7652b02136b2f8b7
4
- data.tar.gz: 319abddd7d4c6778d009538d6dcf0ad51be5e7aec1aefdf860141a41ba48c979
3
+ metadata.gz: c5c4c967fa4c326ac27a3d6fb173633fa09d0764524114cbb77d6ff57c4b4572
4
+ data.tar.gz: caeb6a5267ec2935d656f60e5b714c186fbfcb4bd13626ced597c690e89d4a28
5
5
  SHA512:
6
- metadata.gz: bdc3eb347226c598393424d203df2c9efd20b467dfa290a303ec8ff3478db818f0e314d25519d70284a57e76bf34960aa1a13ecc13f95a5f10a80902cdce2c53
7
- data.tar.gz: 4073203764f80c69dd6f9c6ac9535610c52f32a0a39ab6137a7f741d137bf2b274cbd6ae51138dea510c9eaf31675c25de0933bb375ad7924cc52ba273187c8e
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
- lex_llm_path = ENV.fetch('LEX_LLM_PATH', File.expand_path('../lex-llm', __dir__))
7
- gem 'lex-llm', path: lex_llm_path if File.directory?(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 Openai.
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
@@ -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 Openai provider extension'
11
- spec.description = 'Openai provider integration for the LegionIO LLM routing framework.'
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 'faraday', '>= 2.0'
27
- spec.add_dependency 'legion-json', '>= 1.0'
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.3'
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
 
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Llm
6
6
  module Openai
7
- VERSION = '0.1.2'
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-openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
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: '1.0'
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: '1.0'
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: '1.0'
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: '1.0'
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.3
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.3
82
- description: Openai provider integration for the LegionIO LLM routing framework.
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 Openai provider extension
114
+ summary: LegionIO LLM OpenAI provider extension
130
115
  test_files: []
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'legion/extensions/llm/openai'