Skip to content

feat(eve): productionize Browserbase extension 0.2 - #2821

Open
shrey150 wants to merge 12 commits into
agent/eve-core-facadefrom
agent/productionize-eve-0-2
Open

feat(eve): productionize Browserbase extension 0.2#2821
shrey150 wants to merge 12 commits into
agent/eve-core-facadefrom
agent/productionize-eve-0-2

Conversation

@shrey150

@shrey150 shrey150 commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • publish the Stagehand-owned @browserbasehq/eve extension from this repository
  • expose Stagehand V4 Code Mode as browserbase__run, browserbase__snapshot, and browserbase__screenshot
  • bundle the canonical Core compatibility runtime into the published package while keeping Stagehand and the Browserbase SDK as asset-preserving external dependencies
  • document mounting the package in an existing Eve agent; no repo-owned example agent or model choice is added
  • wire Eve into Changesets, changelog consolidation, Turbo, and the TypeScript release build

This is stacked on #2824, which propagates browser-side browser.close() requests to the host lifecycle owner. Version 0.2 replaces the legacy focused Browserbase tools with the Stagehand V4 Code Mode contract. Eve built-in web_search and web_fetch remain unchanged; #2822 adds optional Browserbase overrides.

Release setup

Before the first publish, configure npm trusted publishing for @browserbasehq/eve with repository browserbase/stagehand and workflow .github/workflows/release.yml. The included minor changeset publishes this as 0.2.0.

After 0.2.0 is available, the duplicate package in browserbase/integrations can be retired and its pending 0.2 release should not be published.

Validation

  • Eve unit tests: 20/20
  • Eve typecheck, extension build, focused format, and focused lint checks
  • packed package passes publint and has no private Core runtime dependency
  • clean Eve 0.44.4 consumer build preserves stagehand-extension.zip and exposes exactly the three namespaced Code Mode tools
  • real Eve model loop: navigation, snapshot, state across calls, deliberate JavaScript error, healthy recovery, hydrated snapshot action, screenshot, final URL/title, and browser.close() all passed
  • a later Eve turn created fresh browser resources and closed them; Browserbase reported both sessions COMPLETED, with zero sessions left running

@changeset-bot

changeset-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 87a393b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@browserbasehq/eve Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR


export default defineAgent({
model: openai(process.env.EVE_STAGEHAND_MODEL ?? "gpt-5.6-luna"),
model: openai(process.env.EVE_STAGEHAND_MODEL ?? "gpt-5.4-mini"),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason this was changed to 5.4 mini? would prefer 5.6 luna

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in aacd83be9 — restored the example default to gpt-5.6-luna while retaining the environment override.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow-up: the private example workspace has now been removed entirely in 8441da9, so this package no longer owns an Eve agent or model default.

Signed-off-by: Shrey Pandya <shrey@browserbase.com>
Addresses feedback from @shrey150

Signed-off-by: Shrey Pandya <shrey@browserbase.com>
Signed-off-by: Shrey Pandya <shrey@browserbase.com>
Signed-off-by: Shrey Pandya <shrey@browserbase.com>
@socket-security

socket-security Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​eve@​0.44.4991001009880
Addednpm/​ai@​7.0.799910010099100

View full report

@shrey150
shrey150 changed the base branch from main to agent/eve-core-facade August 25, 2026 23:57
Signed-off-by: Shrey Pandya <shrey@browserbase.com>
@shrey150
shrey150 marked this pull request as ready for review August 27, 2026 05:28
…t/productionize-eve-0-2

Signed-off-by: Shrey Pandya <shrey@browserbase.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found and verified against the latest diff

Confidence score: 4/5

  • In scripts/release/consolidate-changelogs.ts, Eve is now included in packageChangelogs, but the release tests do not cover its package path or label, so Eve-generated changelogs could be silently omitted or mishandled—add a focused consolidation test.
  • In packages/integrations/eve/extension/tools/snapshot.ts, snapshotTool.execute lacks focused valid- and rejected-input coverage, leaving delegated-result regressions undetected—add tests for both execution outcomes.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="packages/integrations/eve/extension/tools/snapshot.ts">

<violation number="1" location="packages/integrations/eve/extension/tools/snapshot.ts:13">
P3: The new snapshot execution path has no focused test; the current suite only checks its metadata. Add valid-input and rejected-input tests that exercise `snapshotTool.execute` and verify the delegated result.

(Based on your team's feedback about adding unit tests for new behavior.)</violation>
</file>

<file name="scripts/release/consolidate-changelogs.ts">

<violation number="1" location="scripts/release/consolidate-changelogs.ts:30">
P2: Adding Eve to `packageChangelogs` changes the release consolidation set, but the release tests never exercise this package path or label. Add a focused test for an Eve-generated changelog so a future path or label regression cannot omit Eve release notes from the root changelog.

(Based on your team's feedback about tests for new behavior.) .</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread turbo.json Outdated
Comment thread pnpm-workspace.yaml
Comment thread .changeset/gentle-eagles-browse.md Outdated
},
{
label: "Eve Extension",
path: path.join(repositoryRoot, "packages/integrations/eve/CHANGELOG.md"),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Adding Eve to packageChangelogs changes the release consolidation set, but the release tests never exercise this package path or label. Add a focused test for an Eve-generated changelog so a future path or label regression cannot omit Eve release notes from the root changelog.

(Based on your team's feedback about tests for new behavior.) .

View Feedback

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/release/consolidate-changelogs.ts, line 30:

<comment>Adding Eve to `packageChangelogs` changes the release consolidation set, but the release tests never exercise this package path or label. Add a focused test for an Eve-generated changelog so a future path or label regression cannot omit Eve release notes from the root changelog.

(Based on your team's feedback about tests for new behavior.) .</comment>

<file context>
@@ -25,6 +25,10 @@ const packageChangelogs = [
   },
+  {
+    label: "Eve Extension",
+    path: path.join(repositoryRoot, "packages/integrations/eve/CHANGELOG.md"),
+  },
 ];
</file context>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 4016cf563: exported the consolidation source list and added a focused test for the exact Eve changelog path, label, and generated root heading.

Comment thread packages/integrations/eve/README.md Outdated
export default defineTool({
description: SNAPSHOT_TOOL_DESCRIPTION,
inputSchema: SNAPSHOT_INPUT_SCHEMA,
async execute(rawInput) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The new snapshot execution path has no focused test; the current suite only checks its metadata. Add valid-input and rejected-input tests that exercise snapshotTool.execute and verify the delegated result.

(Based on your team's feedback about adding unit tests for new behavior.)

View Feedback

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/integrations/eve/extension/tools/snapshot.ts, line 13:

<comment>The new snapshot execution path has no focused test; the current suite only checks its metadata. Add valid-input and rejected-input tests that exercise `snapshotTool.execute` and verify the delegated result.

(Based on your team's feedback about adding unit tests for new behavior.) </comment>

<file context>
@@ -0,0 +1,17 @@
+export default defineTool({
+  description: SNAPSHOT_TOOL_DESCRIPTION,
+  inputSchema: SNAPSHOT_INPUT_SCHEMA,
+  async execute(rawInput) {
+    const input = SnapshotInputSchema.parse(rawInput);
+    return stagehandSession.run(({ tools }) => tools.snapshot(input));
</file context>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 4016cf563: added execution coverage proving valid snapshot input delegates with the parsed options and invalid input rejects before the session is opened.

…t/productionize-eve-0-2

Signed-off-by: Shrey Pandya <shrey@browserbase.com>
Signed-off-by: Shrey Pandya <shrey@browserbase.com>
Signed-off-by: Shrey Pandya <shrey@browserbase.com>
…t/productionize-eve-0-2

Signed-off-by: Shrey Pandya <shrey@browserbase.com>
…t/productionize-eve-0-2

Signed-off-by: Shrey Pandya <shrey@browserbase.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant