nominatim.py 957 B

123456789101112131415161718192021222324252627
  1. from typing import Any
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.nominatim.tools.nominatim_search import NominatimSearchTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class NominatimProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  7. try:
  8. result = (
  9. NominatimSearchTool()
  10. .fork_tool_runtime(
  11. runtime={
  12. "credentials": credentials,
  13. }
  14. )
  15. .invoke(
  16. user_id="",
  17. tool_parameters={
  18. "query": "London",
  19. "limit": 1,
  20. },
  21. )
  22. )
  23. except Exception as e:
  24. raise ToolProviderCredentialValidationError(str(e))