mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-09 22:35:54 -05:00
<!-- Clearly explain the need for these changes: --> This PR adds two new DataForSEO blocks for keyword research functionality, enabling users to get keyword suggestions and related keywords using the DataForSEO Labs API. https://github.com/user-attachments/assets/55b3f64b-20b2-4c6d-b307-01327d476fe2 [DataForSeo Poc_v3.json](https://github.com/user-attachments/files/21916605/DataForSeo.Poc_v3.json) ### Changes 🏗️ <!-- Concisely describe all of the changes made in this pull request: --> - Added `DataForSeoKeywordSuggestionsBlock` for getting keyword suggestions from DataForSEO Labs - Added `DataForSeoRelatedKeywordsBlock` for getting related keywords from DataForSEO Labs - Implemented proper Pydantic models (`KeywordSuggestion` and `RelatedKeyword`) for type-safe outputs - Added mockable private methods (`_fetch_keyword_suggestions` and `_fetch_related_keywords`) for better testability - Included comprehensive test mocks to allow testing without actual API credentials - Both blocks support optional SERP info and clickstream data - Added DataForSEO provider configuration using the SDK's ProviderBuilder pattern ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: <!-- Put your test plan here: --> - [x] Run block tests for DataForSeoKeywordSuggestionsBlock - [x] Run block tests for DataForSeoRelatedKeywordsBlock - [x] Verify mocks work correctly without API credentials - [x] Confirm proper Pydantic model serialization - [x] Run poetry format and fix any linting issues