From 6a749b4d5751e31dda28537f997ed4d3948408a1 Mon Sep 17 00:00:00 2001 From: tkattkat Date: Thu, 9 Oct 2025 13:32:49 -0700 Subject: [PATCH 1/6] add pageurl to agent actions --- lib/handlers/cuaAgentHandler.ts | 4 ++++ lib/handlers/stagehandAgentHandler.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/handlers/cuaAgentHandler.ts b/lib/handlers/cuaAgentHandler.ts index 00df3cd60..0e8b4f897 100644 --- a/lib/handlers/cuaAgentHandler.ts +++ b/lib/handlers/cuaAgentHandler.ts @@ -72,6 +72,8 @@ export class CuaAgentHandler { // Set up action handler for any client type this.agentClient.setActionHandler(async (action) => { + action.pageUrl = this.page.url(); + // Default delay between actions (1 second if not specified) const defaultDelay = 1000; // Use specified delay or default @@ -80,6 +82,8 @@ export class CuaAgentHandler { defaultDelay; try { + this.updateClientUrl(); + // Try to inject cursor before each action if enabled if (this.highlightCursor) { try { diff --git a/lib/handlers/stagehandAgentHandler.ts b/lib/handlers/stagehandAgentHandler.ts index 1dc49c68f..233a7649b 100644 --- a/lib/handlers/stagehandAgentHandler.ts +++ b/lib/handlers/stagehandAgentHandler.ts @@ -54,6 +54,8 @@ export class StagehandAgentHandler { let completed = false; const collectedReasoning: string[] = []; + let currentPageUrl = this.stagehand.page.url(); + this.logger({ category: "agent", message: `Executing agent task: ${options.instruction}`, @@ -184,6 +186,7 @@ export class StagehandAgentHandler { const action: AgentAction = { type: toolCall.toolName, reasoning: event.text || undefined, + pageUrl: currentPageUrl, taskCompleted: toolCall.toolName === "close" ? (args?.success as boolean) @@ -194,6 +197,7 @@ export class StagehandAgentHandler { actions.push(action); } + currentPageUrl = this.stagehand.page.url(); } }, }); From beb41450aca4cca07c69ce6710bf05f758fe7a51 Mon Sep 17 00:00:00 2001 From: tkattkat Date: Fri, 10 Oct 2025 10:14:39 -0700 Subject: [PATCH 2/6] changeset --- .changeset/upset-ideas-fall.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/upset-ideas-fall.md diff --git a/.changeset/upset-ideas-fall.md b/.changeset/upset-ideas-fall.md new file mode 100644 index 000000000..74745ffed --- /dev/null +++ b/.changeset/upset-ideas-fall.md @@ -0,0 +1,5 @@ +--- +"@browserbasehq/stagehand": patch +--- + +Add pageUrl to agent actions From 473eaea528df7b7ac86e43a7ae26a352c8f0d11b Mon Sep 17 00:00:00 2001 From: tkattkat Date: Fri, 10 Oct 2025 11:20:47 -0700 Subject: [PATCH 3/6] add timestamp to agent actions --- lib/handlers/cuaAgentHandler.ts | 2 ++ lib/handlers/stagehandAgentHandler.ts | 1 + types/agent.ts | 1 + 3 files changed, 4 insertions(+) diff --git a/lib/handlers/cuaAgentHandler.ts b/lib/handlers/cuaAgentHandler.ts index 0e8b4f897..513e23efd 100644 --- a/lib/handlers/cuaAgentHandler.ts +++ b/lib/handlers/cuaAgentHandler.ts @@ -99,6 +99,8 @@ export class CuaAgentHandler { // Execute the action await this.executeAction(action); + action.timestamp = Date.now(); + // Add a delay after the action for better visibility await new Promise((resolve) => setTimeout(resolve, waitBetweenActions)); diff --git a/lib/handlers/stagehandAgentHandler.ts b/lib/handlers/stagehandAgentHandler.ts index 233a7649b..147615f81 100644 --- a/lib/handlers/stagehandAgentHandler.ts +++ b/lib/handlers/stagehandAgentHandler.ts @@ -191,6 +191,7 @@ export class StagehandAgentHandler { toolCall.toolName === "close" ? (args?.success as boolean) : false, + timestamp: Date.now(), ...args, ...getPlaywrightArguments(), }; diff --git a/types/agent.ts b/types/agent.ts index 0d61e427f..541b66849 100644 --- a/types/agent.ts +++ b/types/agent.ts @@ -17,6 +17,7 @@ export interface AgentAction { // Tool-specific fields timeMs?: number; // wait tool pageText?: string; // ariaTree tool + timestamp?: number; pageUrl?: string; // ariaTree tool instruction?: string; // various tools playwrightArguments?: ObserveResult | null; // act tool From a4984dc50d317590f30acf5f88f21767ac5ec1aa Mon Sep 17 00:00:00 2001 From: tkattkat <48974763+tkattkat@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:49:02 -0700 Subject: [PATCH 4/6] update changeset --- .changeset/upset-ideas-fall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/upset-ideas-fall.md b/.changeset/upset-ideas-fall.md index 74745ffed..cf23c9a1e 100644 --- a/.changeset/upset-ideas-fall.md +++ b/.changeset/upset-ideas-fall.md @@ -2,4 +2,4 @@ "@browserbasehq/stagehand": patch --- -Add pageUrl to agent actions +Add pageUrl & timestamp to agent actions From b85709fb8b3152765b76f32e42a57c8b1ca7d1b8 Mon Sep 17 00:00:00 2001 From: tkattkat Date: Thu, 16 Oct 2025 11:08:54 -0700 Subject: [PATCH 5/6] changeset --- .changeset/salty-moles-cross.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/salty-moles-cross.md diff --git a/.changeset/salty-moles-cross.md b/.changeset/salty-moles-cross.md new file mode 100644 index 000000000..7d2dbd8f7 --- /dev/null +++ b/.changeset/salty-moles-cross.md @@ -0,0 +1,5 @@ +--- +"@browserbasehq/stagehand": patch +--- + +add pageurl & timestamp to agent actions From 73fba327cca306fdd07fc6f91a1a01be3cf31003 Mon Sep 17 00:00:00 2001 From: tkattkat <48974763+tkattkat@users.noreply.github.com> Date: Thu, 16 Oct 2025 15:17:18 -0700 Subject: [PATCH 6/6] Delete .changeset/salty-moles-cross.md --- .changeset/salty-moles-cross.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .changeset/salty-moles-cross.md diff --git a/.changeset/salty-moles-cross.md b/.changeset/salty-moles-cross.md deleted file mode 100644 index 7d2dbd8f7..000000000 --- a/.changeset/salty-moles-cross.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@browserbasehq/stagehand": patch ---- - -add pageurl & timestamp to agent actions