From 569dfcbc037b3c260f008aa6011ccb8226d9ebbe Mon Sep 17 00:00:00 2001 From: tkattkat Date: Wed, 29 Oct 2025 13:39:50 -0700 Subject: [PATCH 1/4] update logging --- packages/core/lib/v3/handlers/actHandler.ts | 13 +++++++++++++ packages/core/lib/v3/handlers/extractHandler.ts | 5 +---- .../lib/v3/handlers/handlerUtils/actHandlerUtils.ts | 13 +++++-------- packages/core/lib/v3/handlers/observeHandler.ts | 8 +------- packages/core/lib/v3/llm/aisdk.ts | 2 +- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/packages/core/lib/v3/handlers/actHandler.ts b/packages/core/lib/v3/handlers/actHandler.ts index 1106cb7b3..7affe5444 100644 --- a/packages/core/lib/v3/handlers/actHandler.ts +++ b/packages/core/lib/v3/handlers/actHandler.ts @@ -71,6 +71,12 @@ export class ActHandler { const llmClient = this.resolveLlmClient(model); + v3Logger({ + category: "action", + message: `[act] ${instruction}`, + level: 1, + }); + const doObserveAndAct = async (): Promise => { await waitForDomNetworkQuiet( page.mainFrame(), @@ -325,6 +331,13 @@ export class ActHandler { ): Promise { const settleTimeout = domSettleTimeoutMs ?? this.defaultDomSettleTimeoutMs; const effectiveClient = llmClientOverride ?? this.llmClient; + + v3Logger({ + category: "action", + message: `[act] ${action.description}`, + level: 1, + }); + const method = action.method?.trim(); if (!method || method === "not-supported") { v3Logger({ diff --git a/packages/core/lib/v3/handlers/extractHandler.ts b/packages/core/lib/v3/handlers/extractHandler.ts index c686470a2..5d867b641 100644 --- a/packages/core/lib/v3/handlers/extractHandler.ts +++ b/packages/core/lib/v3/handlers/extractHandler.ts @@ -123,11 +123,8 @@ export class ExtractHandler { v3Logger({ category: "extraction", - message: "Starting extraction using a11y snapshot", + message: instruction ? `[extract] ${instruction}` : "[extract] Extracting page text", level: 1, - auxiliary: instruction - ? { instruction: { value: instruction, type: "string" } } - : undefined, }); // Normalize schema: if instruction provided without schema, use defaultExtractSchema diff --git a/packages/core/lib/v3/handlers/handlerUtils/actHandlerUtils.ts b/packages/core/lib/v3/handlers/handlerUtils/actHandlerUtils.ts index 98d371119..c7bad7c0c 100644 --- a/packages/core/lib/v3/handlers/handlerUtils/actHandlerUtils.ts +++ b/packages/core/lib/v3/handlers/handlerUtils/actHandlerUtils.ts @@ -103,7 +103,7 @@ export async function performUnderstudyMethod( } } - await handlePossibleNavigation("action", selectorRaw, initialUrl, frame); + await handlePossibleNavigation(initialUrl, frame); } catch (e) { const msg = e instanceof Error ? e.message : String(e); const stack = e instanceof Error ? e.stack : undefined; @@ -608,7 +608,7 @@ export async function waitForDomNetworkQuiet( v3Logger({ category: "dom", message: "⏳ forcing completion of stalled iframe document", - level: 1, + level: 2, auxiliary: { url: { value: (m.url ?? "").slice(0, 120), type: "string" }, }, @@ -651,16 +651,13 @@ export async function waitForDomNetworkQuiet( } async function handlePossibleNavigation( - actionDescription: string, - xpath: string, initialUrl: string, frame: Frame, ): Promise { v3Logger({ category: "action", - message: `${actionDescription}, checking for page navigation`, + message: `checking for page navigation`, level: 1, - auxiliary: { xpath: { value: xpath, type: "string" } }, }); // We only have a frame-scoped session, so detect navigation by URL change. @@ -670,14 +667,14 @@ async function handlePossibleNavigation( v3Logger({ category: "action", message: "new page (frame) URL detected", - level: 1, + level: 2, auxiliary: { url: { value: afterUrl, type: "string" } }, }); } else { v3Logger({ category: "action", message: "no new (frame) URL detected", - level: 1, + level: 2, auxiliary: { url: { value: afterUrl, type: "string" } }, }); } diff --git a/packages/core/lib/v3/handlers/observeHandler.ts b/packages/core/lib/v3/handlers/observeHandler.ts index 431e73d99..0df751ed7 100644 --- a/packages/core/lib/v3/handlers/observeHandler.ts +++ b/packages/core/lib/v3/handlers/observeHandler.ts @@ -66,14 +66,8 @@ export class ObserveHandler { const doObserve = async (): Promise => { v3Logger({ category: "observation", - message: "starting observation", + message: `[observe] ${effectiveInstruction}`, level: 1, - auxiliary: { - instruction: { - value: effectiveInstruction, - type: "string", - }, - }, }); // Build the hybrid snapshot (a11y-centric text tree + lookup maps) diff --git a/packages/core/lib/v3/llm/aisdk.ts b/packages/core/lib/v3/llm/aisdk.ts index ecf0d716c..b54fbe3a3 100644 --- a/packages/core/lib/v3/llm/aisdk.ts +++ b/packages/core/lib/v3/llm/aisdk.ts @@ -194,7 +194,7 @@ export class AISdkClient extends LLMClient { this.logger?.({ category: "aisdk", message: "response", - level: 1, + level: 2, auxiliary: { response: { value: JSON.stringify({ From 1a95dd6cf1e8f528e5872bad1535a7580d8b4f10 Mon Sep 17 00:00:00 2001 From: tkattkat Date: Wed, 29 Oct 2025 13:44:47 -0700 Subject: [PATCH 2/4] changeset --- .changeset/tidy-pants-wink.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tidy-pants-wink.md diff --git a/.changeset/tidy-pants-wink.md b/.changeset/tidy-pants-wink.md new file mode 100644 index 000000000..9f558d804 --- /dev/null +++ b/.changeset/tidy-pants-wink.md @@ -0,0 +1,5 @@ +--- +"@browserbasehq/stagehand": patch +--- + +Update logging From fe0c77a2576fcac6e963ed362164e865c200101c Mon Sep 17 00:00:00 2001 From: tkattkat Date: Wed, 29 Oct 2025 13:46:07 -0700 Subject: [PATCH 3/4] remove log --- packages/core/lib/v3/handlers/actHandler.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/core/lib/v3/handlers/actHandler.ts b/packages/core/lib/v3/handlers/actHandler.ts index 7affe5444..920eea594 100644 --- a/packages/core/lib/v3/handlers/actHandler.ts +++ b/packages/core/lib/v3/handlers/actHandler.ts @@ -332,11 +332,6 @@ export class ActHandler { const settleTimeout = domSettleTimeoutMs ?? this.defaultDomSettleTimeoutMs; const effectiveClient = llmClientOverride ?? this.llmClient; - v3Logger({ - category: "action", - message: `[act] ${action.description}`, - level: 1, - }); const method = action.method?.trim(); if (!method || method === "not-supported") { From 4d56dedb6846d6b9c436f6577acd77f98e8b1a9d Mon Sep 17 00:00:00 2001 From: tkattkat Date: Wed, 29 Oct 2025 13:58:47 -0700 Subject: [PATCH 4/4] format --- packages/core/lib/v3/handlers/actHandler.ts | 1 - packages/core/lib/v3/handlers/extractHandler.ts | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/core/lib/v3/handlers/actHandler.ts b/packages/core/lib/v3/handlers/actHandler.ts index 920eea594..008f537e3 100644 --- a/packages/core/lib/v3/handlers/actHandler.ts +++ b/packages/core/lib/v3/handlers/actHandler.ts @@ -332,7 +332,6 @@ export class ActHandler { const settleTimeout = domSettleTimeoutMs ?? this.defaultDomSettleTimeoutMs; const effectiveClient = llmClientOverride ?? this.llmClient; - const method = action.method?.trim(); if (!method || method === "not-supported") { v3Logger({ diff --git a/packages/core/lib/v3/handlers/extractHandler.ts b/packages/core/lib/v3/handlers/extractHandler.ts index 5d867b641..3cff60b9a 100644 --- a/packages/core/lib/v3/handlers/extractHandler.ts +++ b/packages/core/lib/v3/handlers/extractHandler.ts @@ -123,7 +123,9 @@ export class ExtractHandler { v3Logger({ category: "extraction", - message: instruction ? `[extract] ${instruction}` : "[extract] Extracting page text", + message: instruction + ? `[extract] ${instruction}` + : "[extract] Extracting page text", level: 1, });