- Use typing_extensions.TypedDict instead of typing.TypedDict for Python < 3.12 compatibility
- Remove unused pytest import from test_config.py
- Remove unused sys import from test_factory.py
- Fixes Pydantic error: 'Please use typing_extensions.TypedDict instead of typing.TypedDict on Python < 3.12'
Co-Authored-By: João <joao@crewai.com>
- Fix TypeAlias annotation in elasticsearch/types.py using TYPE_CHECKING
- Add 'elasticsearch' to _MissingProvider Literal type in base.py
- Remove unused variable in test_client.py
- Add usedforsecurity=False to MD5 hash in config.py for security check
Co-Authored-By: João <joao@crewai.com>
- Implement ElasticsearchClient with full sync/async operations
- Add ElasticsearchConfig with connection and embedding options
- Create factory pattern following ChromaDB/Qdrant conventions
- Add comprehensive test suite with 26 passing tests (100% coverage)
- Support both sync and async Elasticsearch operations
- Include proper error handling and edge case coverage
- Update type system and factory to support Elasticsearch provider
- Follow existing RAG patterns for consistency
Resolves#3404
Co-Authored-By: João <joao@crewai.com>