Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions apps/evi/agent/channels/photon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ export default photonIMessageChannel({

await channel.thread.post(body)
},
// eve 0.73 spans the built-in prompt queue across `input.requested`,
// `input.resolved` and `approval.settled` on Chat SDK channels. Photon
// renders prompts itself from `input.requested`, so the other two are
// explicit no-ops; otherwise the built-in handlers post prompts twice
// and stop posting later ones.
async 'input.resolved'() {},
async 'approval.settled'() {},
// A terminal failure is always reported in the thread; a failed turn never ends silent.
async 'turn.failed'(event, channel) {
if (!channel.thread) return
Expand Down
10 changes: 5 additions & 5 deletions apps/evi/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@
"test": "vitest run"
},
"dependencies": {
"@agent-browser/eve": "file:./vendor/agent-browser-eve-0.38.1-eve0.64.1.tgz",
"@github-tools/eve-extension": "0.8.0",
"@agent-browser/eve": "file:./vendor/agent-browser-eve-0.38.2-eve0.74.0.tgz",
"@github-tools/eve-extension": "0.8.1",
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
"@opentelemetry/sdk-trace-base": "^2.11.0",
"@posthog/ai": "^8.13.4",
"@vercel/blob": "^2.8.0",
"@vercel/connect": "^2.3.5",
"@vercel/connect": "^2.4.1",
"@vercel/oidc": "^3.8.9",
"@vercel/otel": "^2.1.3",
"ai": "^7.0.127",
"eve": "0.71.0",
"ai": "^7.0.128",
"eve": "0.74.0",
"evlog": "workspace:*",
"zod": "^4.6.5"
},
Expand Down
18 changes: 10 additions & 8 deletions apps/evi/vendor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,31 @@
`eve` is pinned exactly because each release rotates the extension tool contract, and eve refuses a
mounted extension whose manifest requires a dropped contract (the build then fails with
`Selected module binding "extensions/<name>.ts" has no compile or runtime usage`). The tarball here
and `@github-tools/eve-extension` 0.8.0 on the registry are built against tool contract 54, which
eve 0.71.0 still accepts. When bumping eve, check every extension manifest
(`dist/extension/_manifest.json`) against `EXTENSION_CAPABILITY_CONTRACTS` in
is built against tool contract 78; `@github-tools/eve-extension` 0.8.1 on the registry is built
against tool contract 76, and eve 0.74.0 accepts both. When bumping eve, check every extension
manifest (`dist/extension/_manifest.json`) against `EXTENSION_CAPABILITY_CONTRACTS` in
`eve/dist/src/compiler/extension-compatibility.js`, and rebuild the tarball when its contract is dropped.

## `agent-browser-eve-0.38.1-eve0.64.1.tgz`
## `agent-browser-eve-0.38.2-eve0.74.0.tgz`

`@agent-browser/eve` built from [vercel-labs/agent-browser#1945](https://github.com/vercel-labs/agent-browser/pull/1945)
at commit `15dd3b4e6ee21c26b7b5f8048bbe73f31182803c`, with `agent-browser-eve-0.38.1-eve0.64.1.patch`
at commit `15dd3b4e6ee21c26b7b5f8048bbe73f31182803c` (the source npm published as 0.38.2, which
ships built against eve 0.57 and contract 44), with `agent-browser-eve-0.38.2-eve0.74.0.patch`
applied: eve 0.64 sessions no longer carry an `id`, so the patch makes `EveSandboxSession.id`
optional and derives the browser session name and the per-sandbox install lock without it.
optional and derives the browser session name and the per-sandbox install lock without it, and the
build is pinned to eve 0.74.0 so the manifest carries a contract eve 0.74 accepts.

Reproduce:

```sh
git clone --depth 1 https://github.com/vercel-labs/agent-browser
cd agent-browser && git fetch --depth 1 origin 15dd3b4e6ee21c26b7b5f8048bbe73f31182803c && git checkout FETCH_HEAD
git apply <path-to>/agent-browser-eve-0.38.1-eve0.64.1.patch
git apply <path-to>/agent-browser-eve-0.38.2-eve0.74.0.patch
pnpm install --frozen-lockfile --ignore-scripts --filter "@agent-browser/eve..."
pnpm -C packages/@agent-browser/sandbox run build
pnpm -C packages/@agent-browser/eve run build
pnpm -C packages/@agent-browser/eve pack
```

Remove this file and point `@agent-browser/eve` back at the registry once upstream publishes a
release built against eve 0.64 or newer.
release built against eve 0.74 or newer.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -61,20 +61,30 @@ index 1cd5c46..efe8bfb 100644
const result = await sandbox.run({ abortSignal: options.abortSignal, command });

diff --git a/packages/@agent-browser/eve/package.json b/packages/@agent-browser/eve/package.json
index 30a429f..7736f47 100644
index 30a429f..0df21ee 100644
--- a/packages/@agent-browser/eve/package.json
+++ b/packages/@agent-browser/eve/package.json
@@ -64,7 +64,7 @@
@@ -1,6 +1,6 @@
{
"name": "@agent-browser/eve",
- "version": "0.38.1",
+ "version": "0.38.2",
"description": "eve extension that gives agents a full browser automation tool set backed by agent-browser",
"type": "module",
"sideEffects": false,
@@ -63,8 +63,8 @@
},
"devDependencies": {
"@types/node": "24.x",
"ai": "7.0.102",
- "ai": "7.0.102",
- "eve": "^0.57.0",
+ "eve": "0.64.1",
+ "ai": "7.0.128",
+ "eve": "0.74.0",
"typescript": "7.0.2"
},
"engines": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ff24547..c8bf133 100644
index ff24547..1cb75d1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -36,10 +36,10 @@ importers:
Expand All @@ -99,31 +109,80 @@ index ff24547..c8bf133 100644
just-bash:
specifier: ^2.9.6
version: 2.14.0
@@ -127,8 +127,8 @@ importers:
specifier: 7.0.102
version: 7.0.102(zod@4.4.3)
@@ -124,11 +124,11 @@ importers:
specifier: 24.x
version: 24.13.3
ai:
- specifier: 7.0.102
- version: 7.0.102(zod@4.4.3)
+ specifier: 7.0.128
+ version: 7.0.128(zod@4.4.3)
eve:
- specifier: ^0.57.0
- version: 0.57.0(@opentelemetry/api@1.9.0)(ai@7.0.102(zod@4.4.3))
+ specifier: 0.64.1
+ version: 0.64.1(@opentelemetry/api@1.9.0)(ai@7.0.102(zod@4.4.3))
+ specifier: 0.74.0
+ version: 0.74.0(@opentelemetry/api@1.9.0)(ai@7.0.128(zod@4.4.3))
typescript:
specifier: 7.0.2
version: 7.0.2
@@ -227,8 +227,8 @@ packages:
peerDependencies:
zod: ^3.25.76 || ^4.1.8

- '@ai-sdk/gateway@4.0.82':
- resolution: {integrity: sha512-WbRChvbJY2zf0qBxFu6UENi0p69fPzP7lKViNTIp3gr76w9bLUFvV5fTXS5uGPqDOkzlTIuAkqWxYNayEBSn6Q==}
+ '@ai-sdk/gateway@4.0.104':
+ resolution: {integrity: sha512-4lTyt8a4BMfVz4QGo+VO5odakmYMX5kq+xiRgdQGGY7o/jP2WSasp6LvIvYvt/lHzz1MfE+xKTOJhz7mMwjynA==}
engines: {node: '>=22'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
@@ -239,8 +239,8 @@ packages:
peerDependencies:
zod: ^3.25.76 || ^4.1.8

- '@ai-sdk/provider-utils@5.0.41':
- resolution: {integrity: sha512-hSosMII5k33z0buaZ6dugH/g8yIJjPQBILuQvr4ThdiMJxrkiZxFWTgIkvKsT6Dk493JbsnGz5W/q88Y5bR7WA==}
+ '@ai-sdk/provider-utils@5.0.54':
+ resolution: {integrity: sha512-amqDxFnw9+dpVrDACRDGmExUUNOH9C1D2bhg/DqWJnamEOieDTXBBXLHujSby/0MqHdAFksnpE8Pzfqx6ABMBw==}
engines: {node: '>=22'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
@@ -249,8 +249,8 @@ packages:
resolution: {integrity: sha512-oGMAgGoQdBXbZqNG0Ze56CHjDZ1IDYOwGYxYjO5KLSlz5HiNQ9udIXsPZ61VWaHGZ5XW/jyjmr6t2xz2jGVwbQ==}
engines: {node: '>=18'}

- '@ai-sdk/provider@4.0.15':
- resolution: {integrity: sha512-LIDCrT8xgWVMiVUV13+v9FXPJ8B5uX/5ByEMXxp9Sspr2SyB1PwMSCPshZoI/t+4AgxyZCFEVutdaigCnqje3w==}
+ '@ai-sdk/provider@4.0.22':
+ resolution: {integrity: sha512-1Jtmn36VNMOBo9CMUQrPqsR744qtqRloEiXpWCYS8ffPlhS2CrSNmoho5lPjp3R7EnkzBsGI6p51TA7fQJQZdA==}
engines: {node: '>=22'}

'@ai-sdk/react@3.0.148':
@@ -2374,8 +2374,8 @@ packages:
peerDependencies:
zod: ^3.25.76 || ^4.1.8

- ai@7.0.102:
- resolution: {integrity: sha512-zYpEoHm3+T+KGGlP7aLGhrEVCbJdTxb7eoxvGBB+BjSrHnt55+uQ/sHUO69xUly1LB2RoDpHD3o521HSzs+h8g==}
+ ai@7.0.128:
+ resolution: {integrity: sha512-WMKN83DodYtH52ETPHq0jrSwj3wU0aHkhLHXMrwMRabC/aMpIqeWsXJgjkUwrOqkaKHWONdupk/2ttPRvAyFcg==}
engines: {node: '>=22'}
peerDependencies:
zod: ^3.25.76 || ^4.1.8
@@ -3297,14 +3297,15 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}

- eve@0.57.0:
- resolution: {integrity: sha512-dnmCENIVj3cXEE5kKbkhngBag8X/tNwt9YkyTmlwstuNhJmqVlxh5ViymWbIwh2MVZQQAbKyrAxHJ+yw7CIoAg==}
+ eve@0.64.1:
+ resolution: {integrity: sha512-dOvgtqg6RAx1I8x5cuzQeKyMXx8YXhEwixQGjdDRJUne6g46tcHNHz4IObOq92+SfSiL4wdS0SqnZnMrH4oOeQ==}
+ eve@0.74.0:
+ resolution: {integrity: sha512-pXIvp8wGorrNXqO1/aQa1QJR85qI31ShrVGcRmdcfdugoEbhHN/vVWuvWQeGDPvEWkA1gqeAzCJ0ZO+Q0W7InA==}
engines: {node: '>=24'}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.0.0
- ai: ^7.0.93
+ ai: ^7.0.105
+ ai: ^7.0.128
braintrust: ^3.0.0
+ chat: ^4.41.0
dd-trace: ^6.13.0
Expand All @@ -138,6 +197,52 @@ index ff24547..c8bf133 100644
dd-trace:
optional: true
just-bash:
@@ -5454,8 +5457,8 @@ packages:
resolution: {integrity: sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==}
engines: {node: '>=20.18.1'}

- undici@8.9.0:
- resolution: {integrity: sha512-aWZpUj7XoGonMClx4gdDRfgBjqeA+F473aDmROQQbM9n6PRfK/u1q/a0X4wMTgcHfT8H6fpbt98PFuDUwFg2YA==}
+ undici@8.10.2:
+ resolution: {integrity: sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==}
engines: {node: '>=22.19.0'}

unenv@2.0.0-rc.24:
@@ -5705,10 +5708,10 @@ snapshots:
'@vercel/oidc': 3.1.0
zod: 4.4.3

- '@ai-sdk/gateway@4.0.82(zod@4.4.3)':
+ '@ai-sdk/gateway@4.0.104(zod@4.4.3)':
dependencies:
- '@ai-sdk/provider': 4.0.15
- '@ai-sdk/provider-utils': 5.0.41(zod@4.4.3)
+ '@ai-sdk/provider': 4.0.22
+ '@ai-sdk/provider-utils': 5.0.54(zod@4.4.3)
'@vercel/oidc': 3.2.0
zod: 4.4.3

@@ -5719,9 +5722,9 @@ snapshots:
eventsource-parser: 3.0.6
zod: 4.4.3

- '@ai-sdk/provider-utils@5.0.41(zod@4.4.3)':
+ '@ai-sdk/provider-utils@5.0.54(zod@4.4.3)':
dependencies:
- '@ai-sdk/provider': 4.0.15
+ '@ai-sdk/provider': 4.0.22
'@standard-schema/spec': 1.1.0
'@workflow/serde': 4.1.0
eventsource-parser: 3.1.1
@@ -5732,7 +5735,7 @@ snapshots:
dependencies:
json-schema: 0.4.0

- '@ai-sdk/provider@4.0.15':
+ '@ai-sdk/provider@4.0.22':
dependencies:
json-schema: 0.4.0

@@ -7744,7 +7747,7 @@ snapshots:
dependencies:
uncrypto: 0.1.3
Expand All @@ -156,15 +261,37 @@ index ff24547..c8bf133 100644
optionalDependencies:
next: 16.1.1(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
@@ -8888,7 +8891,7 @@ snapshots:
@@ -7800,11 +7803,11 @@ snapshots:
'@opentelemetry/api': 1.9.0
zod: 4.4.3

- ai@7.0.102(zod@4.4.3):
+ ai@7.0.128(zod@4.4.3):
dependencies:
- '@ai-sdk/gateway': 4.0.82(zod@4.4.3)
- '@ai-sdk/provider': 4.0.15
- '@ai-sdk/provider-utils': 5.0.41(zod@4.4.3)
+ '@ai-sdk/gateway': 4.0.104(zod@4.4.3)
+ '@ai-sdk/provider': 4.0.22
+ '@ai-sdk/provider-utils': 5.0.54(zod@4.4.3)
zod: 4.4.3

ajv-formats@3.0.1(ajv@8.18.0):
@@ -8888,11 +8891,11 @@ snapshots:

etag@1.8.1: {}

- eve@0.57.0(@opentelemetry/api@1.9.0)(ai@7.0.102(zod@4.4.3)):
+ eve@0.64.1(@opentelemetry/api@1.9.0)(ai@7.0.102(zod@4.4.3)):
+ eve@0.74.0(@opentelemetry/api@1.9.0)(ai@7.0.128(zod@4.4.3)):
dependencies:
ai: 7.0.102(zod@4.4.3)
- ai: 7.0.102(zod@4.4.3)
+ ai: 7.0.128(zod@4.4.3)
nitro: 3.0.260903-beta
- undici: 8.9.0
+ undici: 8.10.2
optionalDependencies:
'@opentelemetry/api': 1.9.0

@@ -9115,7 +9118,7 @@ snapshots:

fuzzysort@3.1.0: {}
Expand All @@ -174,3 +301,12 @@ index ff24547..c8bf133 100644
dependencies:
next: 16.1.1(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)

@@ -11714,7 +11717,7 @@ snapshots:

undici@7.29.1: {}

- undici@8.9.0: {}
+ undici@8.10.2: {}

unenv@2.0.0-rc.24:
dependencies:
Binary file not shown.
Loading
Loading