fix(aionrs): handle malformed tool-call failures#486
Merged
Conversation
- Ignore aionrs tool-call events with empty names before they reach the UI stream - Strip malformed tool uses and paired results from resumed session history
- Separate malformed tool-call history note from the numbered doc list - Keep CI clippy strict mode passing with warnings denied
- Thread max_malformed_tool_call_turns through AionCore into aionrs config resolution - Classify repeated malformed tool-call loops as user LLM provider errors instead of AionUI internal failures - Cover build extra defaults, provider health config, and aionrs error mapping
- Update AionCore to consume the aionrs release with malformed tool-call loop handling - Refresh Cargo.lock entries for the aionrs workspace crates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
aionrs v0.1.30, which contains provider-side malformed tool-call sanitization and the repeated malformed tool-call loop breaker.max_malformed_tool_call_turnsthrough AionCore's aionrs build-extra/resolved-config path so callers can configure the breaker alongsidemax_turns; provider health checks set it to1to fail fast.USER_LLM_PROVIDER_INVALID_REQUEST, ownershipuser_llm_provider, non-retryable, resolutionchange_model/ provider settings.Behavior
max_turns.AIONUI_INTERNAL_ERROR.Tests
cargo fmt --all --checkcargo check -p aionui-ai-agentcargo test -p aionui-ai-agent aionrs_build_extra_serde --libcargo test -p aionui-ai-agent empty_namecargo test -p aionui-ai-agent history_sanitizecargo test -p aionui-ai-agent provider_healthcargo test -p aionui-ai-agent classifies_provider_request_model_and_context_errors --libcargo test -p aionui-ai-agent aionrs_repeated_malformed_tool_call_is_user_llm_provider_error --libjust pushcargo fix --allow-dirty --allow-stagedpassedcargo clippy --fix --workspace --allow-dirty --allow-staged -- -D warningspassedcargo nextest run --workspace: 6316 passed, 18 skipped