firecrawl.py 952 B

123456789101112131415161718192021222324
  1. from core.tools.errors import ToolProviderCredentialValidationError
  2. from core.tools.provider.builtin.firecrawl.tools.crawl import CrawlTool
  3. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  4. class FirecrawlProvider(BuiltinToolProviderController):
  5. def _validate_credentials(self, credentials: dict) -> None:
  6. try:
  7. # Example validation using the Crawl tool
  8. CrawlTool().fork_tool_runtime(
  9. runtime={"credentials": credentials}
  10. ).invoke(
  11. user_id='',
  12. tool_parameters={
  13. "url": "https://example.com",
  14. "includes": '',
  15. "excludes": '',
  16. "limit": 1,
  17. "onlyMainContent": True,
  18. }
  19. )
  20. except Exception as e:
  21. raise ToolProviderCredentialValidationError(str(e))