open_router_enhanced 2.2.0 → 2.3.0

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.
data/lib/open_router.rb CHANGED
@@ -19,7 +19,6 @@ end
19
19
  require_relative "open_router/http"
20
20
  require_relative "open_router/completion_options"
21
21
  require_relative "open_router/tool"
22
- require_relative "open_router/subagent_tool"
23
22
  require_relative "open_router/tool_call_base"
24
23
  require_relative "open_router/tool_call"
25
24
  require_relative "open_router/schema"
@@ -31,7 +30,6 @@ require_relative "open_router/model_registry"
31
30
  require_relative "open_router/model_selector"
32
31
  require_relative "open_router/prompt_template"
33
32
  require_relative "open_router/usage_tracker"
34
- require_relative "open_router/routing"
35
33
  require_relative "open_router/client"
36
34
  require_relative "open_router/streaming_client"
37
35
  require_relative "open_router/version"
@@ -56,15 +54,11 @@ module OpenRouter
56
54
  # Capability validation configuration
57
55
  attr_accessor :strict_mode
58
56
 
59
- # Automatic forcing configuration
60
- attr_accessor :auto_force_on_unsupported_models
61
-
62
- # Default structured output mode configuration
63
- attr_accessor :default_structured_output_mode
64
-
65
- # Optional logger. When set, gem warnings are routed through it (e.g. Rails.logger).
66
- # When nil (default), warnings go to Kernel.warn → $stderr.
67
- attr_accessor :logger
57
+ # Default validation strictness for structured outputs.
58
+ # false (default): best-effort, return parsed JSON as-is.
59
+ # true: raise StructuredOutputError when the response doesn't match the schema.
60
+ # Overridden per-call by the `strict:` option.
61
+ attr_accessor :structured_output_strict
68
62
 
69
63
  DEFAULT_API_VERSION = "v1"
70
64
  DEFAULT_REQUEST_TIMEOUT = 120
@@ -99,11 +93,8 @@ module OpenRouter
99
93
  # Capability validation defaults
100
94
  self.strict_mode = ENV.fetch("OPENROUTER_STRICT_MODE", "false").downcase == "true"
101
95
 
102
- # Auto forcing defaults
103
- self.auto_force_on_unsupported_models = ENV.fetch("OPENROUTER_AUTO_FORCE", "true").downcase == "true"
104
-
105
- # Default structured output mode
106
- self.default_structured_output_mode = ENV.fetch("OPENROUTER_DEFAULT_MODE", "strict").to_sym
96
+ # Default structured output validation strictness (loose/best-effort by default)
97
+ self.structured_output_strict = ENV.fetch("OPENROUTER_STRUCTURED_STRICT", "false").downcase == "true"
107
98
  end
108
99
 
109
100
  def access_token
@@ -136,12 +127,4 @@ module OpenRouter
136
127
  def self.configure
137
128
  yield(configuration)
138
129
  end
139
-
140
- def self.log_warning(message)
141
- if configuration.logger
142
- configuration.logger.warn(message)
143
- else
144
- Kernel.warn(message)
145
- end
146
- end
147
130
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: open_router_enhanced
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Stiens
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-06-29 00:00:00.000000000 Z
11
+ date: 2026-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -134,8 +134,6 @@ files:
134
134
  - docs/responses_api.md
135
135
  - docs/streaming.md
136
136
  - docs/structured_outputs.md
137
- - docs/superpowers/plans/2026-06-27-openrouter-routing-features.md
138
- - docs/superpowers/specs/2026-06-27-openrouter-routing-features-design.md
139
137
  - docs/tools.md
140
138
  - examples/basic_completion.rb
141
139
  - examples/dynamic_model_switching_example.rb
@@ -164,10 +162,8 @@ files:
164
162
  - lib/open_router/response_parsing.rb
165
163
  - lib/open_router/responses_response.rb
166
164
  - lib/open_router/responses_tool_call.rb
167
- - lib/open_router/routing.rb
168
165
  - lib/open_router/schema.rb
169
166
  - lib/open_router/streaming_client.rb
170
- - lib/open_router/subagent_tool.rb
171
167
  - lib/open_router/tool.rb
172
168
  - lib/open_router/tool_call.rb
173
169
  - lib/open_router/tool_call_base.rb