The workaround for Google Gemini's OpenAI-compatible API, which generates a `tool_call.id` when it's empty, is now applied conditionally. This logic is now executed only when `"openai/gemini"` is present in the `CAI_MODEL` environment variable.
This change ensures that the specific fix for Gemini's `tool_call.id` behavior is only active when interacting with Gemini models, preventing potential unintended side effects or unnecessary processing when using other OpenAI-compatible providers.
Gemini is ready to use with this configuration.
```
OPENAI_API_KEY="gemini_key"
OPENAI_BASE_URL="gemini_openai_compatible_url"
CAI_MODEL=openai/gemini-2.5-pro
```
* Add MCP command completion support
Implemented functions to provide suggestions for MCP server names and context-aware MCP command completions. Enhanced the FuzzyCommandCompleter to handle MCP commands, including subcommands and transport types.
* Refactor FuzzyCommandCompleter to utilize default subcommand handler
Removed hardcoded subcommand definitions and replaced them with a call to the existing method for fetching subcommand suggestions. This enhances maintainability and reduces code duplication.
---------
Co-authored-by: christian.pritzl <christian.pritzl@iu.org>
-> basically the same functionality for agent-selection now as for model-completion was already available
Co-authored-by: christian.pritzl <christian.pritzl@iu.org>
* fix
* reverted parts of the previous changes as they led to a duplication of model-show
* now /model shows the predefined models (as before)
* the numbering in the cached-models is consistent with model-show and the completer
---------
Co-authored-by: christian.pritzl <christian.pritzl@iu.org>
Improve MCP command error messaging for existing servers
* Update the messages when attempting to add an already loaded server -> this should clarify that the server is active and there is no error
* Provide guidance on how to reload it
Co-authored-by: christian.pritzl <christian.pritzl@iu.org>
* fix(mcp): correct server param access and agent tool registration
- Use getattr() instead of .get() for accessing server.params attributes
- Fix tool registration logic to properly add tools to Agent
* fix(cli): improve fallback message for failed or unknown commands
- Replaced misleading "Unknown command" message with "Command failed or unknown"
This change should tackle the problem of reassigning already existing docker containers when using /virtualization
* Add image name normalization (the container name might miss the :latest suffix)
-> Introduced a helper function `normalize_image_name` to ensure Docker image names always include a tag (defaulting to ':latest' if missing)
* Updated DockerManager to use the new normalized image names for comparisons when checking for existing containers and images
* Enhanced the error handling for cases where containers already exist, ensuring proper reuse or recreation of containers based on their status
Co-authored-by: christian.pritzl <christian.pritzl@iu.org>
* add new folder called fluency with notebook for episode 3: my first hack
* update notebook and review grammar
---------
Co-authored-by: cris <cris@criss-MacBook-Pro.local>