config and testing improvements#10
Merged
Merged
Conversation
This commit enhances the security and usability of the AI services configuration by excluding the `ai_services_config.json` file from version control and implementing a dynamic generation approach at runtime. The documentation has been updated to include a new section on configuration setup in `README.md`, along with a comprehensive `CONFIGURATION.md` guide. Additionally, a template for the configuration file has been added to assist users in setting up their own configurations effectively.
This commit introduces a new method `SaveCurrentConfigurationAsync` in the `ChatService` class, enabling the saving of the current AI service configuration to a config file. The `ChatUI` class has been updated with more descriptive menu items and a new `/saveconfig` command, improving user experience. Additionally, the configuration management has been enhanced with the addition of a `DefaultService` property in the `AIServiceConfiguration` class, ensuring that the application can persist and restore its state effectively.
This commit introduces significant updates to the Jasmine AI Assistant project, focusing on enhancing the pluginable responder system and improving overall test coverage. Key changes include detailed documentation updates, the addition of new test suites for concurrency and security, and improvements to the streaming functionality. Additionally, security measures have been strengthened to ensure sensitive data is not exposed, and code refactoring has been performed for better clarity and maintainability.
The AIServiceConfiguration class now includes retry logic for saving configuration files, improving support for concurrent access by handling IOException and UnauthorizedAccessException with exponential backoff. Documentation has been updated to reflect these changes and to emphasize the importance of thread-safe operations. Additionally, new guidelines for contributing to the Jasmine.Core project have been added, focusing on concurrency considerations and best practices for testing custom responders.
Updated the `Echo` property in `AIServiceConfiguration.cs` to initialize with default values, ensuring proper configuration during service setup. Introduced a new method to check for explicit legacy mappings and corrected responder ID mappings to prevent configuration discrepancies, particularly for Azure OpenAI. Additionally, new tests were added to validate these changes, and the README was updated to reflect critical bug fixes and enhancements for thread-safe configuration access.
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.
PR Classification
Enhancement of configuration management and security features for the Jasmine AI Assistant.
PR Summary
This pull request introduces significant improvements to the configuration management system and enhances security measures for sensitive data handling. Key changes include:
.gitignoreupdated to excludeai_services_config.jsonandFodyWeavers.xsdfrom version control.CONFIGURATION.mdadded to provide detailed setup instructions for Azure OpenAI and Ollama.ChatService.csandChatUI.csmodified to implement features for saving and loading configurations.AIServiceConfiguration.csenhanced to manage settings for different AI services, including tools configuration.