Read the _error_retry retry limit from plugin settings instead of using the hardcoded single retry. Add config sanitization, preserve the default retry count in the settings UI, update plugin docs, and cover configured and zero-retry behavior with focused tests.
- Move load_classes_from_file and load_classes_from_folder from extract_tools to new modules helper
- Update all imports across api, extension, files, and plugins to use helpers.modules
- Add namespace purging to refresh_plugin_modules for selective plugin reload on Python changes
- Implement embed trimming in history based on model config max_embeds and vision support
- Add pre_update hook documentation to plugin