ace-llm 0.39.1 → 0.39.2

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: aa342251e0d5d1ccc1ee95cb264d88fa552b27b42e8d88d65cc29e06ec18dc93
4
- data.tar.gz: f24622f0ebc04e007f687af00faf50d99d0ced4875969f3d8775ada565515131
3
+ metadata.gz: cb59cc8e89a88f8c35c88148d6364c109cff56aa65393a8c6998636cfe3217f8
4
+ data.tar.gz: 1f0850c65fcafd1bdda99e7e6c61f99267cd32a8414d7842ce315078a1ed5983
5
5
  SHA512:
6
- metadata.gz: aa3f5270880edd4b6821117530ed34df37e2a65d6a7dafec625a103572b78efc346dfc083eb898ae3af5100beeaf63f97ecad51b93009121ab178e57a3771bc5
7
- data.tar.gz: 2bf24d295ac1b61b1beee10c03c217598dc0f2df1f084c3195851d0bd55aa86e7941e587aefed0a077a52eb92480e5abb22dbd863b1e171c02aaad10d00f815d
6
+ metadata.gz: 9c71aed42c8a25be6d78cb5da76d61b833632767165b65c51249509667fd9d1bd7a5fd3be46e8d16f3f7b1e11715dd0b2654bbe74565dfefcda13f4d5bddc8f2
7
+ data.tar.gz: 00bf1c6a53d6268a90613953c3434768ea82421b73e0bdf9814e4ab00cc885a59e7749c1efaa104bcde825bda577356fcc8dec2e0c073a87c010c5c34ac745f0
data/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.39.2] - 2026-09-13
11
+
12
+ ### Fixed
13
+
14
+ - Preserve explicit Codex model targets and native errors without fallback substitution, including Ruby model overrides; retain fallback behavior for aliases, roles and other providers.
15
+
10
16
 
11
17
  ## [0.39.1] - 2026-09-02
12
18
 
@@ -13,7 +13,8 @@ module Ace
13
13
  THINKING_LEVELS = %w[low medium high xhigh].freeze
14
14
 
15
15
  # Result object for parsed provider:model combinations.
16
- ParseResult = Struct.new(:provider, :model, :preset, :thinking_level, :valid, :error, :original_input, :role_fallbacks) do
16
+ ParseResult = Struct.new(:provider, :model, :preset, :thinking_level, :valid, :error,
17
+ :original_input, :role_fallbacks, :explicit_model) do
17
18
  def valid?
18
19
  valid
19
20
  end
@@ -109,6 +110,11 @@ module Ace
109
110
  provider_target, preset_name, preset_error = split_preset_suffix(original_input)
110
111
  return create_error_result(original_input, preset_error) if preset_error
111
112
 
113
+ raw_provider, raw_model = provider_target.split(":", 2)
114
+ raw_model, = split_thinking_suffix(raw_model) if raw_model
115
+ raw_selector = "#{raw_provider}:#{raw_model}"
116
+ explicit_model = !raw_model.to_s.empty? && @alias_resolver.resolve(raw_selector) == raw_selector
117
+
112
118
  provider_target = @alias_resolver.resolve(provider_target).to_s.strip
113
119
  return create_error_result(original_input, "Invalid target: provider/model portion cannot be empty") if provider_target.empty?
114
120
 
@@ -146,7 +152,8 @@ module Ace
146
152
  return create_error_result(original_input, "Invalid target: resolved model cannot be empty")
147
153
  end
148
154
 
149
- ParseResult.new(resolved_provider, model, preset_name, thinking_level, true, nil, original_input)
155
+ ParseResult.new(resolved_provider, model, preset_name, thinking_level, true, nil,
156
+ original_input, nil, explicit_model)
150
157
  end
151
158
 
152
159
  def build_role_fallbacks(candidates, caller_preset, caller_thinking)
@@ -90,6 +90,9 @@ module Ace
90
90
  end
91
91
 
92
92
  fallback_config = load_fallback_config(fallback, fallback_providers, parser: parser)
93
+ if parse_result.provider == "codex" && (model || parse_result.explicit_model)
94
+ fallback_config = fallback_config.merge(enabled: false)
95
+ end
93
96
  timeout_value = first_non_nil(timeout, execution_overrides["timeout"], Molecules::ConfigLoader.get("llm.timeout"), 120)
94
97
  resolved_timeout = normalize_timeout(timeout_value)
95
98
  parser_for_options = Molecules::ProviderModelParser.new(registry: registry)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module LLM
5
- VERSION = "0.39.1"
5
+ VERSION = "0.39.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.39.1
4
+ version: 0.39.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-09-05 00:00:00.000000000 Z
10
+ date: 2026-09-13 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-cli