lex-llm-openai 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: 219040f76900aecf620f996af83a531cb5468ec8a16abb16ae5994b3c05135b6
4
- data.tar.gz: c4ea893b3923d815186bdf54faf71123889cde18bcf9b060a9c1dad81343af9c
3
+ metadata.gz: 7d290fddaf838579b445dedeefb35628d83ca2826e10df699f3c8bd41f4ab9de
4
+ data.tar.gz: 7da1c5be7431cb7e4991cf5ae8a04b470932851caf06f5a1368a2024323466a9
5
5
  SHA512:
6
- metadata.gz: 995cc72ac2fc9983969f0be0436988fe979dc2175ecfe4875383ea6b08e9778a9e7d800e516c8243c1abc4340935b55268dc58d4c6495eeb7e645c1c06275e88
7
- data.tar.gz: 7557da2bee59173e652fc737220b2d179d4a27232940faf83e9c2e462332c368b7475afdfa35a5b12c5c7dc177f08110813d597ba9ff8985281c4bb5e516ae98
6
+ metadata.gz: 1783aa4651f954f932af3be3f48f080b0537101882fbc0fc60acebe1c956c5029ed30842686140f480aa93a745311fde887c8ebd5040e88979ae6f7f7614b278
7
+ data.tar.gz: 2311adb58da6d9465f1a48560fa40d74c5e0c532c41268f5f92bf0c7f3015721a5ccc5ff767a813d832a8bdeb17ac79c2ca82321df4d6a5e0865e19cf9bc130c
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,9 +1,21 @@
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/openai` 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
- - Add the OpenAI LexLLM provider class with chat, streaming, model listing, model retrieval, embeddings, moderation, image, and audio transcription helpers.
6
- - Use `LexLLM::Provider::OpenAICompatible` for OpenAI-compatible request payload and response parsing.
17
+ - Add the OpenAI Legion::Extensions::Llm provider class with chat, streaming, model listing, model retrieval, embeddings, moderation, image, and audio transcription helpers.
18
+ - Use `Legion::Extensions::Llm::Provider::OpenAICompatible` for OpenAI-compatible request payload and response parsing.
7
19
  - Use shared `Legion::Extensions::Llm.provider_settings` defaults from `lex-llm`.
8
20
  - Update dependencies for shared Legion JSON, settings, logging, and `lex-llm >= 0.1.2`.
9
21
  - Remove the committed `Gemfile.lock`.
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
@@ -1,12 +1,14 @@
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
- - `LexLLM::Provider` registration as `:openai`
11
+ - `Legion::Extensions::Llm::Provider` registration as `:openai`
10
12
  - chat completions through `POST /v1/chat/completions`
11
13
  - streaming chat completions through the same chat completions endpoint
12
14
  - model discovery through `GET /v1/models`
@@ -17,7 +19,7 @@ This gem lives under `Legion::Extensions::Llm::Openai` and depends on `lex-llm`
17
19
  - image editing through `POST /v1/images/edits`
18
20
  - image variation endpoint helper for `POST /v1/images/variations`
19
21
  - audio transcription through `POST /v1/audio/transcriptions`
20
- - shared OpenAI-compatible request/response mapping via `LexLLM::Provider::OpenAICompatible`
22
+ - shared OpenAI-compatible request/response mapping via `Legion::Extensions::Llm::Provider::OpenAICompatible`
21
23
  - shared fleet/default settings via `Legion::Extensions::Llm.provider_settings`
22
24
 
23
25
  ## Defaults
@@ -42,7 +44,7 @@ Legion::Extensions::Llm::Openai.default_settings
42
44
  ## Configuration
43
45
 
44
46
  ```ruby
45
- LexLLM.configure do |config|
47
+ Legion::Extensions::Llm.configure do |config|
46
48
  config.openai_api_key = ENV.fetch("OPENAI_API_KEY")
47
49
  config.default_model = "gpt-5.2"
48
50
  config.default_embedding_model = "text-embedding-3-small"
@@ -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,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,15 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lex_llm'
4
- require 'legion/json'
3
+ require 'legion/extensions/llm'
5
4
 
6
5
  module Legion
7
6
  module Extensions
8
7
  module Llm
9
8
  module Openai
10
- # OpenAI provider implementation for the LexLLM base provider contract.
11
- class Provider < LexLLM::Provider
12
- include LexLLM::Provider::OpenAICompatible
9
+ # OpenAI provider implementation for the Legion::Extensions::Llm base provider contract.
10
+ class Provider < Legion::Extensions::Llm::Provider
11
+ include Legion::Extensions::Llm::Provider::OpenAICompatible
13
12
 
14
13
  class << self
15
14
  def slug = 'openai'
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Llm
6
6
  module Openai
7
- VERSION = '0.1.1'
7
+ VERSION = '0.1.3'
8
8
  end
9
9
  end
10
10
  end
@@ -35,5 +35,5 @@ module Legion
35
35
  end
36
36
  end
37
37
 
38
- LexLLM::Provider.register(Legion::Extensions::Llm::Openai::PROVIDER_FAMILY,
39
- Legion::Extensions::Llm::Openai::Provider)
38
+ Legion::Extensions::Llm::Provider.register(Legion::Extensions::Llm::Openai::PROVIDER_FAMILY,
39
+ Legion::Extensions::Llm::Openai::Provider)
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.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: Openai provider integration for the LegionIO LLM routing framework.
25
+ version: 0.1.3
26
+ description: OpenAI 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/openai.rb
100
44
  - lib/legion/extensions/llm/openai/provider.rb
101
45
  - lib/legion/extensions/llm/openai/version.rb
102
- - lib/lex_llm_openai.rb
103
46
  homepage: https://github.com/LegionIO/lex-llm-openai
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 Openai provider extension
72
+ summary: LegionIO LLM OpenAI provider extension
130
73
  test_files: []
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'legion/extensions/llm/openai'