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 diff --git a/packages/core/lib/v3/handlers/actHandler.ts b/packages/core/lib/v3/handlers/actHandler.ts index 1106cb7b3..008f537e3 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,7 @@ export class ActHandler { ): Promise { 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 c686470a2..3cff60b9a 100644 --- a/packages/core/lib/v3/handlers/extractHandler.ts +++ b/packages/core/lib/v3/handlers/extractHandler.ts @@ -123,11 +123,10 @@ 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({