Local models using Jinja chat templates (e.g. llama.cpp, Ollama) cannot
handle null values in tool call arguments, causing "Cannot convert value
of type Optional<Any> to Jinja Value" errors when selecting follow-up
answers.
Changes:
- Remove strict mode from ask_followup_question tool definition and make
mode optional (not required), matching the read_command_output pattern
- Update examples to omit mode instead of using null
- Strip null mode values when building follow_up JSON in the tool
- Strip null values from all tool call arguments during OpenAI message
serialization as a general safety net
- Add tests for null stripping behavior
Addresses #12233
Revert to pre-AI-SDK state (commit 67e568f6b)
This commit reverts the codebase to the state before AI SDK migration work began.
Target commit: 67e568f6b - refactor: replace fetch_instructions with skill tool and built-in skills (#10913)
Date: January 29, 2026
This removes approximately 152 commits of AI SDK migration work.
A follow-up PR will add back bug fixes and features that are unrelated to AI SDK.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* Chore: Pretier for consistant formatting
- TODO: This PR needs to be updated by Saoud after he runs `npm install` & `npm format:fix` and commits the results of the prettier changes.
* Revert prettier config
* Run npm install
* Fix prettier config and ignore package lock
* Run format
---------
Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>