Implement configurable API providers from configs.yaml #43

Merged
Copilot merged 8 commits from copilot/update-api-providers-configs into main 2025-10-27 18:53:36 +01:00
6 changed files with 28 additions and 85 deletions
Showing only changes of commit 803ef22fea - Show all commits

View File

@@ -12,14 +12,6 @@ class MarketAPIsTool(MarketWrapper, Toolkit):
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Providers can be configured in configs.yaml under api.market_providers.
"""
# Mapping of wrapper names to wrapper classes
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
_WRAPPER_MAP = {
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
'BinanceWrapper': BinanceWrapper,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
'YFinanceWrapper': YFinanceWrapper,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
'CoinBaseWrapper': CoinBaseWrapper,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
'CryptoCompareWrapper': CryptoCompareWrapper,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
}
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
def __init__(self):
"""
Initialize the MarketAPIsTool with market API wrappers configured in configs.yaml.
@@ -27,15 +19,9 @@ class MarketAPIsTool(MarketWrapper, Toolkit):
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
"""
config = AppConfig()
# Get wrapper classes based on configuration using the helper function
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
wrappers = WrapperHandler.filter_wrappers_by_config(
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
wrapper_map=self._WRAPPER_MAP,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
provider_names=config.api.market_providers,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
fallback_wrappers=[BinanceWrapper, YFinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper]
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
)
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
self.handler = WrapperHandler.build_wrappers(
wrappers,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
constructors=[BinanceWrapper, YFinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper],
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
filters=config.api.market_providers,
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
try_per_wrapper=config.api.retry_attempts,
retry_delay=config.api.retry_delay_seconds
)
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:34 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Added WrapperHandler.filter_wrappers_by_config() static method that all tools now use instead of duplicating the filtering logic.

Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.

View File

@@ -15,14 +15,6 @@ class NewsAPIsTool(NewsWrapper, Toolkit):
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
If no wrapper succeeds, an exception is raised.
"""
# Mapping of wrapper names to wrapper classes
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
_WRAPPER_MAP = {
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'GoogleNewsWrapper': GoogleNewsWrapper,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'DuckDuckGoWrapper': DuckDuckGoWrapper,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'NewsApiWrapper': NewsApiWrapper,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'CryptoPanicWrapper': CryptoPanicWrapper,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
}
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
def __init__(self):
"""
Initialize the NewsAPIsTool with news API wrappers configured in configs.yaml.
@@ -30,15 +22,9 @@ class NewsAPIsTool(NewsWrapper, Toolkit):
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
"""
config = AppConfig()
# Get wrapper classes based on configuration using the helper function
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
wrappers = WrapperHandler.filter_wrappers_by_config(
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
wrapper_map=self._WRAPPER_MAP,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
provider_names=config.api.news_providers,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
fallback_wrappers=[GoogleNewsWrapper, DuckDuckGoWrapper, NewsApiWrapper, CryptoPanicWrapper]
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
)
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
self.handler = WrapperHandler.build_wrappers(
wrappers,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
constructors=[NewsApiWrapper, GoogleNewsWrapper, CryptoPanicWrapper, DuckDuckGoWrapper],
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
filters=config.api.news_providers,
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
try_per_wrapper=config.api.retry_attempts,
retry_delay=config.api.retry_delay_seconds
)
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:43 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
copilot-swe-agent[bot] commented 2025-10-22 16:49:27 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.

View File

@@ -16,13 +16,6 @@ class SocialAPIsTool(SocialWrapper, Toolkit):
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
If no wrapper succeeds, an exception is raised.
"""
# Mapping of wrapper names to wrapper classes
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
_WRAPPER_MAP = {
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'RedditWrapper': RedditWrapper,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'XWrapper': XWrapper,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
'ChanWrapper': ChanWrapper,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
}
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
def __init__(self):
"""
Initialize the SocialAPIsTool with social media API wrappers configured in configs.yaml.
@@ -30,15 +23,9 @@ class SocialAPIsTool(SocialWrapper, Toolkit):
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
"""
config = AppConfig()
# Get wrapper classes based on configuration using the helper function
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
wrappers = WrapperHandler.filter_wrappers_by_config(
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
wrapper_map=self._WRAPPER_MAP,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
provider_names=config.api.social_providers,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
fallback_wrappers=[RedditWrapper, XWrapper, ChanWrapper]
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
)
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
self.handler = WrapperHandler.build_wrappers(
wrappers,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
constructors=[RedditWrapper, XWrapper, ChanWrapper],
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
filters=config.api.social_providers,
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
try_per_wrapper=config.api.retry_attempts,
retry_delay=config.api.retry_delay_seconds
)
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Berack96 commented 2025-10-22 16:41:47 +02:00 (Migrated from github.com)
Review

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.

Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
copilot-swe-agent[bot] commented 2025-10-22 16:49:28 +02:00 (Migrated from github.com)
Review

Refactored in commit 93d005c. Now uses the centralized WrapperHandler.filter_wrappers_by_config() helper function.

Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.

View File

@@ -131,41 +131,19 @@ class WrapperHandler(Generic[WrapperType]):
return f"{e} [\"{last_frame.filename}\", line {last_frame.lineno}]"
@staticmethod
def filter_wrappers_by_config(
wrapper_map: dict[str, type[WrapperClassType]],
provider_names: list[str],
fallback_wrappers: list[type[WrapperClassType]] | None = None
) -> list[type[WrapperClassType]]:
"""
Filters wrapper classes based on a list of provider names from configuration.
Args:
wrapper_map (dict[str, type[W]]): Dictionary mapping provider names to wrapper classes.
provider_names (list[str]): List of provider names from configuration.
fallback_wrappers (list[type[W]] | None): Optional fallback list if no providers configured.
Returns:
list[type[W]]: List of wrapper classes in the order specified by provider_names.
"""
wrappers: list[type[WrapperClassType]] = []
for provider_name in provider_names:
if provider_name in wrapper_map:
wrappers.append(wrapper_map[provider_name])
# Fallback to all wrappers if none configured
if not wrappers and fallback_wrappers:
wrappers = fallback_wrappers
return wrappers
@staticmethod
def build_wrappers(constructors: list[type[WrapperClassType]], try_per_wrapper: int = 3, retry_delay: int = 2, kwargs: dict[str, Any] | None = None) -> 'WrapperHandler[WrapperClassType]':
def build_wrappers(
constructors: list[type[WrapperClassType]],
filters: list[str] | None = None,
try_per_wrapper: int = 3,
retry_delay: int = 2,
kwargs: dict[str, Any] | None = None) -> 'WrapperHandler[WrapperClassType]':
"""
Builds a WrapperHandler instance with the given wrapper constructors.
It attempts to initialize each wrapper and logs a warning if any cannot be initialized.
Only successfully initialized wrappers are included in the handler.
Args:
constructors (list[type[W]]): An iterable of wrapper classes to instantiate. e.g. [WrapperA, WrapperB]
filters (list[str] | None): Optional list of provider names to filter the constructors.
try_per_wrapper (int): Number of retries per wrapper before switching to the next.
retry_delay (int): Delay in seconds between retries.
kwargs (dict | None): Optional dictionary with keyword arguments common to all wrappers.
@@ -176,8 +154,14 @@ class WrapperHandler(Generic[WrapperType]):
"""
copilot-pull-request-reviewer[bot] commented 2025-10-22 17:16:08 +02:00 (Migrated from github.com)
Review

The filtering logic is duplicated. Lines 158-159 already filter constructors based on filters, making the check on lines 163-164 redundant. Remove the conditional check inside the loop since constructors has already been filtered.


The filtering logic is duplicated. Lines 158-159 already filter constructors based on filters, making the check on lines 163-164 redundant. Remove the conditional check inside the loop since constructors has already been filtered. ```suggestion ```
assert WrapperHandler.__check(constructors), f"All constructors must be classes. Received: {constructors}"
# Order of wrappers is now determined by the order in filters
filters = filters or [c.__name__ for c in constructors]
wrappers = [c for name in filters for c in constructors if c.__name__ == name]
result: list[WrapperClassType] = []
for wrapper_class in constructors:
for wrapper_class in wrappers:
if filters and wrapper_class.__name__ not in filters:
continue
try:
wrapper = wrapper_class(**(kwargs or {}))
result.append(wrapper)

View File

@@ -7,14 +7,14 @@ from app.api.tools import MarketAPIsTool
@pytest.mark.api
class TestMarketAPIsTool:
def test_wrapper_initialization(self):
market_wrapper = MarketAPIsTool("EUR")
market_wrapper = MarketAPIsTool()
assert market_wrapper is not None
assert hasattr(market_wrapper, 'get_product')
assert hasattr(market_wrapper, 'get_products')
assert hasattr(market_wrapper, 'get_historical_prices')
def test_wrapper_capabilities(self):
market_wrapper = MarketAPIsTool("EUR")
market_wrapper = MarketAPIsTool()
capabilities: list[str] = []
if hasattr(market_wrapper, 'get_product'):
capabilities.append('single_product')
@@ -25,7 +25,7 @@ class TestMarketAPIsTool:
assert len(capabilities) > 0
def test_market_data_retrieval(self):
market_wrapper = MarketAPIsTool("EUR")
market_wrapper = MarketAPIsTool()
btc_product = market_wrapper.get_product("BTC")
assert btc_product is not None
assert hasattr(btc_product, 'symbol')
@@ -34,7 +34,7 @@ class TestMarketAPIsTool:
def test_error_handling(self):
try:
market_wrapper = MarketAPIsTool("EUR")
market_wrapper = MarketAPIsTool()
fake_product = market_wrapper.get_product("NONEXISTENT_CRYPTO_SYMBOL_12345")
assert fake_product is None or fake_product.price == 0
except Exception as _:

View File

@@ -19,7 +19,7 @@ class TestSocialAPIsTool:
assert post.title is not None
assert post.time is not None
def test_social_api_tool_get_top__all_results(self):
def test_social_api_tool_get_top_all_results(self):
tool = SocialAPIsTool()
result = tool.handler.try_call_all(lambda w: w.get_top_crypto_posts(limit=2))
assert isinstance(result, dict)