feat(dev): drained transactional dev server on the stock Nitro contract#787
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Jul 14, 2026
a69e44e to
ad41594
Compare
b7321a1 to
d95f7da
Compare
d95f7da to
39caf5f
Compare
ad41594 to
2eec894
Compare
2eec894 to
98c9d48
Compare
98c9d48 to
51ba184
Compare
Contributor
Bundle + Package Summary:
|
| Area | Metric | Baseline | Current | Delta |
|---|---|---|---|---|
| Package | Packed tarball | 3.65 MB | 3.69 MB | +38.7 kB |
| Package | Unpacked publish size | 13.26 MB | 13.38 MB | +118.5 kB |
| Package | Installed footprint | 52.52 MB | 52.64 MB | +118.5 kB |
| Package | Published files | 2563 | 2588 | +25 |
| Package | Installed files | 5803 | 5828 | +25 |
| Runtime | Unique function payloads | 2 | 2 | 0 |
| Runtime | Total function bytes | 9.35 MB | 9.37 MB | +12.5 kB |
| Runtime | Public routes | 9 | 9 | 0 |
Changed function payloads vs main (58dd402) (2)
| Function | Status | Baseline | Current | Delta | Route changes |
|---|---|---|---|---|---|
functions/.well-known/workflow/v1/flow.func |
changed | 5.87 MB | 5.88 MB | +6.3 kB |
none |
functions/__server.func |
changed | 3.48 MB | 3.49 MB | +6.3 kB |
none |
eve init install
| Metric | Baseline | Current | Delta |
|---|---|---|---|
| Installed footprint | 90.79 MB | 90.90 MB | +118.5 kB |
| Installed packages | 122 | 122 | 0 |
| dependencies | 4 | 4 | 0 |
| devDependencies | 2 | 2 | 0 |
| Dependency package bytes | 27.46 MB | 27.58 MB | +118.5 kB |
| devDependency package bytes | 5.04 MB | 5.04 MB | 0 B ➖ |
Build Metadata
- Preset:
vercel - Nitro:
[email protected] - Output directory:
apps/fixtures/weather-agent/.vercel/output - Build metadata timestamp: 2026-07-15T00:06:04.728Z
- Route aliases: 9 public, 1 internal (10 total aliases)
- Vercel routes in config: 10
- Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down
Package Details
- Package:
[email protected] - Package directory:
packages/eve - Tarball: 3.69 MB (
eve-0.24.2.tgz) - Unpacked payload: 13.38 MB across 2588 published files
- Installed footprint: 52.64 MB across 5828 installed files
- Installed root package: 12.10 MB
- Installed dependencies: 40.54 MB
- Runtime dependencies: 1
- Peer dependencies: 5 (4 optional)
Installed footprint is measured from an isolated temporary npm install of the packed tarball.
Heavy installed dependencies
@rolldown/binding-linux-x64-gnu: 19.13 MB (36.3%)eve: 12.10 MB (23.0%)ai: 6.39 MB (12.1%)zod: 5.04 MB (9.6%)nitro: 2.41 MB (4.6%)
Publish payload breakdown
Published file size
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [####....................] 1.51 MB 11.3%
🟡 dist/src/compiled/@vercel/sandbox/index.js [#.......................] 622.2 kB 4.7%
🟡 dist/src/compiled/_chunks/workflow/undici-fb5... [#.......................] 502.4 kB 3.8%
🟡 dist/src/compiled/@chat-adapter/slack/index.js [#.......................] 433.8 kB 3.2%
🟡 dist/src/compiled/_chunks/workflow/dist-Blxny... [#.......................] 277.7 kB 2.1%
🔴 Other published files [########################] 10.04 MB 75.0%
Installed footprint breakdown
Installed package size
🔴 @rolldown/binding-linux-x64-gnu [########################] 19.13 MB 36.3%
🔴 eve [###############.........] 12.10 MB 23.0%
🔴 ai [########................] 6.39 MB 12.1%
🔴 zod [######..................] 5.04 MB 9.6%
🟠 nitro [###.....................] 2.41 MB 4.6%
🟡 @ai-sdk/provider-utils [#.......................] 847.4 kB 1.6%
🔴 Other installed packages [########................] 6.73 MB 12.8%
Runtime dependencies (1)
| Package | Range | Notes |
|---|---|---|
nitro |
3.0.260610-beta |
Peer dependencies (5)
| Package | Range | Notes |
|---|---|---|
@opentelemetry/api |
^1.0.0 |
optional peer |
ai |
catalog: |
|
braintrust |
^3.0.0 |
optional peer |
just-bash |
^3.0.0 |
optional peer |
microsandbox |
^0.5.0 |
optional peer |
eve init install drill-down
eve init install details
- Command:
eve init my-agent - Package manager:
npm - Installed footprint: 90.90 MB across 7646 installed files
- Installed packages: 122 total (116 transitive-only)
- dependencies: 4 direct packages totaling 27.58 MB
- devDependencies: 2 direct packages totaling 5.04 MB
- Other transitive package files: 58.28 MB
Installed footprint is measured from an isolated temporary eve init my-agent using the current packed eve tarball.
Heavy installed dependencies
@typescript/typescript-linux-x64: 27.95 MB (30.7%)@rolldown/binding-linux-x64-gnu: 19.13 MB (21.0%)eve: 12.10 MB (13.3%)zod: 9.00 MB (9.9%)ai: 6.39 MB (7.0%)
Installed footprint breakdown
Installed package size
🔴 @typescript/typescript-linux-x64 [########################] 27.95 MB 30.7%
🔴 @rolldown/binding-linux-x64-gnu [################........] 19.13 MB 21.0%
🔴 eve [##########..............] 12.10 MB 13.3%
🔴 zod [########................] 9.00 MB 9.9%
🔴 ai [#####...................] 6.39 MB 7.0%
🟠 @types/node [##......................] 2.54 MB 2.8%
🔴 Other installed packages [############............] 13.80 MB 15.2%
dependencies (4)
| Package | Range | Installed size | Share |
|---|---|---|---|
@vercel/connect |
0.2.2 |
98.6 kB | 0.1% |
ai |
^7.0.26 |
6.39 MB | 7.0% |
eve |
file:eve-0.24.2.tgz |
12.10 MB | 13.3% |
zod |
4.4.3 |
9.00 MB | 9.9% |
devDependencies (2)
| Package | Range | Installed size | Share |
|---|---|---|---|
@types/node |
24.x |
2.54 MB | 2.8% |
typescript |
7.0.2 |
2.50 MB | 2.7% |
Function Drill-Down
Payload Size Graph
Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func [########################] 5.88 MB 62.7%
🟠 functions/__server.func [##############..........] 3.49 MB 37.3%
Top Function Payloads
🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 5.88 MB
| Metric | Value |
|---|---|
| Public routes | /.well-known/workflow/v1/flow |
| Runtime | nodejs24.x |
| Handler | index.mjs |
| Payload | 5.88 MB |
| Function files | 5.88 MB across 36 files |
| Traced dependencies | 0 B |
| Signal | 🟠 Bundled file __eve_nitro_handler__.mjs is 2.18 MB (37.1%) |
🟠 🔎 Dependency Analysis
📦 Bundled files:
Bundled file size
🟠 __eve_nitro_handler__.mjs [########################] 2.18 MB 37.1%
🟡 _chunks/world-vercel.mjs [#########...............] 826.4 kB 14.1%
🟡 _chunks/sandbox.mjs [########................] 754.9 kB 12.8%
🟡 _libs/@ai-sdk/gateway+[...].mjs [#####...................] 430.4 kB 7.3%
🟡 _chunks/dist-Blxnyb7-.mjs [####....................] 349.1 kB 5.9%
🟠 Other bundled files [###############.........] 1.33 MB 22.7%
🧾 Vercel Config
{
"handler": "index.mjs",
"launcherType": "Nodejs",
"shouldAddHelpers": false,
"supportsResponseStreaming": true,
"runtime": "nodejs24.x",
"environment": {
"NODE_OPTIONS": "--experimental-require-module"
},
"maxDuration": "max",
"experimentalTriggers": [
{
"type": "queue/v2beta",
"topic": "__eve776561746865722d6167656e74_wkf_workflow_*",
"consumer": "default",
"retryAfterSeconds": 5,
"initialDelaySeconds": 0
}
]
}🟠 functions/__server.func • 8 public routes, 1 internal alias • 3.49 MB
| Metric | Value |
|---|---|
| Public routes | //eve/v1/callback/[token]/eve/v1/connections/[name]/callback/[token]/eve/v1/health/eve/v1/info/eve/v1/session/eve/v1/session/[sessionId]/eve/v1/session/[sessionId]/stream |
| Internal aliases | /__server |
| Runtime | nodejs24.x |
| Handler | index.mjs |
| Payload | 3.49 MB |
| Function files | 3.49 MB across 26 files |
| Traced dependencies | 0 B |
| Signal | 🟠 Bundled file _chunks/runtime-artifacts.mjs is 942.0 kB (27.0%) |
🟠 🔎 Dependency Analysis
📦 Bundled files:
Bundled file size
🟠 _chunks/runtime-artifacts.mjs [########################] 942.0 kB 27.0%
🟠 _chunks/world-vercel.mjs [#####################...] 826.4 kB 23.7%
🟠 _chunks/sandbox.mjs [###################.....] 754.9 kB 21.6%
🟡 _chunks/dist-Blxnyb7-.mjs [#########...............] 348.1 kB 10.0%
⚪ _libs/zod.mjs [###.....................] 114.2 kB 3.3%
🟡 Other bundled files [#############...........] 503.0 kB 14.4%
🧾 Vercel Config
{
"handler": "index.mjs",
"launcherType": "Nodejs",
"shouldAddHelpers": false,
"supportsResponseStreaming": true,
"runtime": "nodejs24.x"
}Rebuild the dev server on the stock Nitro dev-server architecture with two guarantees the stock RunnerManager lacks: - Drained worker replacement: the parent listener tracks in-flight exchanges (responses and upgraded sockets) per worker and terminates a retired worker only after its last exchange settles, so structural reloads never reset admitted work. Crashed workers restart with their own workspace; shutdown completes within a bounded deadline. - Transactional authored rebuilds: a candidate is compiled, bundled, and readiness-checked while the previous worker keeps serving; the swap is worker-first, then generation-pointer activation, so any failure before the swap leaves the previous worker and generation untouched, and hosts are generation-neutral in the instant between the two steps. Runtime-only edits publish a generation without touching the worker. Environment files stage with each attempt and roll back on failure. Co-Authored-By: Claude Fable 5 <[email protected]> Signed-off-by: Casey Gowrie <[email protected]>
- A crash restart now yields to a replacement that was already in flight instead of swapping retired code back in over the newer worker, and the crashed workspace is disposed when the restart loses or the server is closing. - The client abort signal rides the proxied worker request, so a client that disconnects before response headers arrive releases its exchange instead of pinning the worker until the handler returns. - close() terminates a candidate still waiting on readiness and awaits the replace chain, bounding shutdown during a structural rebuild. - A worker response that fails after headers were sent destroys the client connection instead of framing the truncated body as a complete response. - A candidate that fails readiness disposes its workspace instead of leaking it. - Pointer publication retries transient Windows rename failures (EPERM/EBUSY/EACCES) before surfacing an activation failure. Co-Authored-By: Claude Fable 5 <[email protected]> Signed-off-by: Casey Gowrie <[email protected]>
77777e1 to
3f332ff
Compare
AndrewBarba
approved these changes
Jul 14, 2026
Signed-off-by: Casey Gowrie <[email protected]>
Signed-off-by: Casey Gowrie <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First PR of the stock-Nitro dev-server stack (followed by #790 → #792 → #798), based on
main.What
Rebuilds the dev server on stock Nitro's stable-parent/disposable-worker architecture, with two guarantees beyond the stock runner manager:
ECONNRESETclass of structural-reload failures. Crashed workers restart, shutdown has a bounded deadline, and a failed upgrade destroys only its socket.The dev schedule route now resolves the committed runtime generation instead of the removed legacy
<app>/.eve/compilelocation. Schedule lookup and task execution share that one resolved artifact source, so a concurrent rebuild cannot split a dispatch across generations.Build-publication lock transitions also retain atomic rename semantics while retrying bounded Windows
EPERM/EACCES/EBUSYcontention.Tests
agent-scheduleslocal E2E fixture exercises the dev route through a real rebuild; both configured model jobs pass on this branch.🤖 Generated with Claude Code