From 73ecaf74c2258dc06467357bb7c3b1edf7bb6720 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Thu, 13 Feb 2025 12:41:45 -0300 Subject: [PATCH] feat(v1/extract) Show sources out of __experimental (#1180) * Nick: * Nick: * Nick: --- apps/api/src/controllers/v1/extract.ts | 2 +- apps/api/src/controllers/v1/types.ts | 1 + apps/js-sdk/firecrawl/package.json | 2 +- apps/js-sdk/firecrawl/src/index.ts | 5 ++++- apps/python-sdk/firecrawl/__init__.py | 2 +- apps/python-sdk/firecrawl/firecrawl.py | 3 +++ 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/api/src/controllers/v1/extract.ts b/apps/api/src/controllers/v1/extract.ts index ec29b35c..b18117f5 100644 --- a/apps/api/src/controllers/v1/extract.ts +++ b/apps/api/src/controllers/v1/extract.ts @@ -73,7 +73,7 @@ export async function extractController( status: "processing", showSteps: req.body.__experimental_streamSteps, showLLMUsage: req.body.__experimental_llmUsage, - showSources: req.body.__experimental_showSources, + showSources: req.body.__experimental_showSources || req.body.showSources, }); if (Sentry.isInitialized()) { diff --git a/apps/api/src/controllers/v1/types.ts b/apps/api/src/controllers/v1/types.ts index 648af7fa..858c792f 100644 --- a/apps/api/src/controllers/v1/types.ts +++ b/apps/api/src/controllers/v1/types.ts @@ -272,6 +272,7 @@ export const extractV1Options = z __experimental_streamSteps: z.boolean().default(false), __experimental_llmUsage: z.boolean().default(false), __experimental_showSources: z.boolean().default(false), + showSources: z.boolean().default(false), __experimental_cacheKey: z.string().optional(), __experimental_cacheMode: z.enum(["direct", "save", "load"]).default("direct").optional() }) diff --git a/apps/js-sdk/firecrawl/package.json b/apps/js-sdk/firecrawl/package.json index b1bd5524..c0ff4543 100644 --- a/apps/js-sdk/firecrawl/package.json +++ b/apps/js-sdk/firecrawl/package.json @@ -1,6 +1,6 @@ { "name": "@mendable/firecrawl-js", - "version": "1.16.0", + "version": "1.17.0", "description": "JavaScript SDK for Firecrawl API", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/apps/js-sdk/firecrawl/src/index.ts b/apps/js-sdk/firecrawl/src/index.ts index 422c9674..8e74d2d8 100644 --- a/apps/js-sdk/firecrawl/src/index.ts +++ b/apps/js-sdk/firecrawl/src/index.ts @@ -262,6 +262,7 @@ export interface ExtractParams { enableWebSearch?: boolean; includeSubdomains?: boolean; origin?: string; + showSources?: boolean; } /** @@ -273,6 +274,7 @@ export interface ExtractResponse { data: LLMSchema; error?: string; warning?: string; + sources?: string[]; } /** @@ -1041,7 +1043,8 @@ export default class FirecrawlApp { success: true, data: extractStatus.data, warning: extractStatus.warning, - error: extractStatus.error + error: extractStatus.error, + sources: extractStatus?.sources || undefined, }; } else { throw new FirecrawlError(`Failed to extract data. Error: ${extractStatus.error}`, statusResponse.status); diff --git a/apps/python-sdk/firecrawl/__init__.py b/apps/python-sdk/firecrawl/__init__.py index e11cad89..9dd7793f 100644 --- a/apps/python-sdk/firecrawl/__init__.py +++ b/apps/python-sdk/firecrawl/__init__.py @@ -13,7 +13,7 @@ import os from .firecrawl import FirecrawlApp # noqa -__version__ = "1.11.1" +__version__ = "1.12.0" # Define the logger for the Firecrawl project logger: logging.Logger = logging.getLogger("firecrawl") diff --git a/apps/python-sdk/firecrawl/firecrawl.py b/apps/python-sdk/firecrawl/firecrawl.py index 8e592452..736016ac 100644 --- a/apps/python-sdk/firecrawl/firecrawl.py +++ b/apps/python-sdk/firecrawl/firecrawl.py @@ -54,6 +54,8 @@ class FirecrawlApp: enable_web_search: Optional[bool] = False # Just for backwards compatibility enableWebSearch: Optional[bool] = False + show_sources: Optional[bool] = False + @@ -631,6 +633,7 @@ class FirecrawlApp: **jsonData, 'allowExternalLinks': params.get('allow_external_links', params.get('allowExternalLinks', False)), 'enableWebSearch': params.get('enable_web_search', params.get('enableWebSearch', False)), + 'showSources': params.get('show_sources', params.get('showSources', False)), 'schema': schema, 'origin': 'api-sdk' }