Skip to content

fix: Skill tool arg handling and result, custom /models caching (#182… - #188

Merged
chauncygu merged 1 commit into
mainfrom
v3.5.88.1
Oct 12, 2026
Merged

chauncygu merged 1 commit into
mainfrom
v3.5.88.1

Conversation

@chauncygu

Copy link
Copy Markdown
Contributor

…, #183, #184)

#182 Skill tool crashed with "replace() argument 2 must be str, not dict" when a model passed args as an object. Coerce the unambiguous shapes (null, single-string-value object, list of strings, number) and return an error naming the expected shape for anything else. A non-string name gets the same treatment.

#183 _fetch_custom_model_limit never hit its cache for "custom/" and never remembered a miss, so /v1/models was fetched before every model and tool call. Look the model up as given, then with a leading "custom/" removed (not bare_model(), which would also strip the vendor segment of an already-bare "Qwen/Qwen3-Coder"). Remember "endpoint doesn't describe this model" for the process and a failed request for 30s.

#184 Skill returned the sub-run's whole transcript, including reasoning chunks and agent status lines. Return only the final assistant turn, with streamed text as the fallback when the run died before completing a turn. The tool output cap now receives config, so a user-set context_window and the custom endpoint's per-model limit apply.

…#183, #184)

#182 Skill tool crashed with "replace() argument 2 must be str, not dict"
when a model passed args as an object. Coerce the unambiguous shapes
(null, single-string-value object, list of strings, number) and return an
error naming the expected shape for anything else. A non-string name gets
the same treatment.

#183 _fetch_custom_model_limit never hit its cache for "custom/<model>"
and never remembered a miss, so /v1/models was fetched before every model
and tool call. Look the model up as given, then with a leading "custom/"
removed (not bare_model(), which would also strip the vendor segment of an
already-bare "Qwen/Qwen3-Coder"). Remember "endpoint doesn't describe this
model" for the process and a failed request for 30s.

#184 Skill returned the sub-run's whole transcript, including reasoning
chunks and agent status lines. Return only the final assistant turn, with
streamed text as the fallback when the run died before completing a turn.
The tool output cap now receives config, so a user-set context_window and
the custom endpoint's per-model limit apply.
@chauncygu
chauncygu merged commit 3b563a9 into main Oct 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant