Merge branch 'sdk-improv/async' of https://github.com/mendableai/firecrawl into sdk-improv/async

This commit is contained in:
Nicolas 2025-04-17 23:50:57 -07:00
commit 287032017b

View File

@ -84,6 +84,15 @@ class FirecrawlDocumentMetadata(pydantic.BaseModel):
statusCode: Optional[int] = None
error: Optional[str] = None
class AgentOptions(pydantic.BaseModel):
"""Configuration for the agent."""
model: Literal["FIRE-1"] = "FIRE-1"
prompt: Optional[str] = None
class AgentOptionsExtract(pydantic.BaseModel):
"""Configuration for the agent in extract operations."""
model: Literal["FIRE-1"] = "FIRE-1"
class ActionsResult(pydantic.BaseModel):
"""Result of actions performed during scraping."""
screenshots: List[str]
@ -172,17 +181,24 @@ class ExecuteJavascriptAction(pydantic.BaseModel):
type: Literal["executeJavascript"]
script: str
class ExtractAgent(pydantic.BaseModel):
"""Configuration for the agent in extract operations."""
model: Literal["FIRE-1"] = "FIRE-1"
class ExtractConfig(pydantic.BaseModel):
"""Configuration for extraction."""
prompt: Optional[str] = None
schema: Optional[Any] = None
systemPrompt: Optional[str] = None
agent: Optional[ExtractAgent] = None
class ScrapeParams(CommonOptions):
"""Parameters for scraping operations."""
extract: Optional[ExtractConfig] = None
jsonOptions: Optional[ExtractConfig] = None
actions: Optional[List[Union[WaitAction, ScreenshotAction, ClickAction, WriteAction, PressAction, ScrollAction, ScrapeAction, ExecuteJavascriptAction]]] = None
agent: Optional[AgentOptions] = None
class ScrapeResponse(FirecrawlDocument[T], Generic[T]):
"""Response from scraping operations."""
@ -372,7 +388,7 @@ class ChangeTrackingData(pydantic.BaseModel):
diff: Optional[Dict[str, Any]] = None
json: Optional[Any] = None
class SearchResponse(pydantic.BaseModel):
class SearchResponse(pydantic.BaseModel):
"""
Response from the search operation.
"""
@ -381,7 +397,7 @@ class ChangeTrackingData(pydantic.BaseModel):
warning: Optional[str] = None
error: Optional[str] = None
class ExtractParams(pydantic.BaseModel):
class ExtractParams(pydantic.BaseModel):
"""
Parameters for the extract operation.
"""
@ -395,10 +411,7 @@ class ChangeTrackingData(pydantic.BaseModel):
show_sources: Optional[bool] = False
agent: Optional[Dict[str, Any]] = None
class ExtractResponse(pydantic.BaseModel):
class ExtractResponse(pydantic.BaseModel):
"""
Response from the extract operation.
"""
@ -407,8 +420,6 @@ class ChangeTrackingData(pydantic.BaseModel):
error: Optional[str] = None
class FirecrawlApp:
def __init__(self, api_key: Optional[str] = None, api_url: Optional[str] = None) -> None:
"""
Initialize the FirecrawlApp instance with API key, API URL.