diff --git a/.changeset/social-moles-wish.md b/.changeset/social-moles-wish.md new file mode 100644 index 000000000..017cc4bf5 --- /dev/null +++ b/.changeset/social-moles-wish.md @@ -0,0 +1,5 @@ +--- +"@browserbasehq/stagehand": patch +--- + +remove need for duplicate project id if already passed to Stagehand diff --git a/lib/index.ts b/lib/index.ts index 51c835c86..3b5e5142b 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -73,7 +73,7 @@ async function getBrowser( env: "LOCAL" | "BROWSERBASE" = "LOCAL", headless: boolean = false, logger: (message: LogLine) => void, - browserbaseSessionCreateParams?: Browserbase.Sessions.SessionCreateParams, + browserbaseSessionCreateParams?: ConstructorParams["browserbaseSessionCreateParams"], browserbaseSessionID?: string, localBrowserLaunchOptions?: LocalBrowserLaunchOptions, ): Promise { @@ -166,6 +166,7 @@ async function getBrowser( stagehand: "true", }, }); + // Final projectId used: browserbaseSessionCreateParams.projectId || projectId sessionId = session.id; connectUrl = session.connectUrl; @@ -377,7 +378,7 @@ export class Stagehand { protected apiKey: string | undefined; private projectId: string | undefined; private externalLogger?: (logLine: LogLine) => void; - private browserbaseSessionCreateParams?: Browserbase.Sessions.SessionCreateParams; + private browserbaseSessionCreateParams?: ConstructorParams["browserbaseSessionCreateParams"]; public variables: { [key: string]: unknown }; private contextPath?: string; public llmClient: LLMClient; diff --git a/types/api.ts b/types/api.ts index 0b1345560..07e955c6c 100644 --- a/types/api.ts +++ b/types/api.ts @@ -20,7 +20,10 @@ export interface StartSessionParams { verbose: number; debugDom: boolean; systemPrompt?: string; - browserbaseSessionCreateParams?: Browserbase.Sessions.SessionCreateParams; + browserbaseSessionCreateParams?: Omit< + Browserbase.Sessions.SessionCreateParams, + "projectId" + > & { projectId?: string }; selfHeal?: boolean; waitForCaptchaSolves?: boolean; actionTimeoutMs?: number; diff --git a/types/stagehand.ts b/types/stagehand.ts index 667cce86d..940e90ee2 100644 --- a/types/stagehand.ts +++ b/types/stagehand.ts @@ -46,8 +46,12 @@ export interface ConstructorParams { /** * The parameters to use for creating a Browserbase session * See https://docs.browserbase.com/reference/api/create-a-session + * Note: projectId is optional here as it will use the main projectId parameter if not provided */ - browserbaseSessionCreateParams?: Browserbase.Sessions.SessionCreateParams; + browserbaseSessionCreateParams?: Omit< + Browserbase.Sessions.SessionCreateParams, + "projectId" + > & { projectId?: string }; /** * Enable caching of LLM responses * @default true