MCPcopy
hub / github.com/firecrawl/firecrawl / insertBrowserSession

Function insertBrowserSession

apps/api/src/lib/browser-sessions.ts:38–77  ·  view source on GitHub ↗
(
  row: Omit<BrowserSessionRow, "created_at" | "updated_at">,
)

Source from the content-addressed store, hash-verified

36// ---------------------------------------------------------------------------
37
38export async function insertBrowserSession(
39 row: Omit<BrowserSessionRow, "created_at" | "updated_at">,
40): Promise<BrowserSessionRow> {
41 const now = new Date().toISOString();
42 const full: BrowserSessionRow = {
43 ...row,
44 created_at: now,
45 updated_at: now,
46 };
47
48 const MAX_ATTEMPTS = 10;
49 let lastError: any = null;
50 for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
51 try {
52 const [data] = await db
53 .insert(schema.browser_sessions)
54 .values(full)
55 .returning();
56
57 return data as BrowserSessionRow;
58 } catch (error) {
59 lastError = error;
60 logger.error("Error inserting browser session, trying again", {
61 error,
62 id: row.id,
63 attempt,
64 });
65 await new Promise(resolve => setTimeout(resolve, 75));
66 }
67 }
68
69 logger.error("Failed to insert browser session after all retries", {
70 error: lastError,
71 id: row.id,
72 attempts: MAX_ATTEMPTS,
73 });
74 throw new Error(
75 `Failed to insert browser session: ${lastError?.message ?? "unknown error"}`,
76 );
77}
78
79export async function getBrowserSession(
80 id: string,

Callers 2

createSessionForScrapeFunction · 0.90
browserCreateControllerFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…