Skip to content

refactor(eve): one body height for the trace viewer - #1478

Open
chadhietala wants to merge 1 commit into
mainfrom
simplify-commit-review-viewport
Open

refactor(eve): one body height for the trace viewer#1478
chadhietala wants to merge 1 commit into
mainfrom
simplify-commit-review-viewport

Conversation

@chadhietala

Copy link
Copy Markdown
Contributor

Found

  • cli/dev/tui/traces/trace-view.ts computes panelViewportRows = bodyRows and returns it beside timelineViewportRows: bodyRows, so both frame fields — and both matching TraceViewerKeyEnvironment fields — have always carried the same number. Nothing has ever set them apart, including in feat(eve): add the /traces conversation viewer to the dev TUI #1403 where they were introduced.
  • Two names for one value meant a reader of panelMaxScroll couldn't tell it worked in the same units as conversationCellAt without checking the renderer.

Did
One bodyViewportRows replaces both, in the frame and the key environment; the session stops copying the pair out of every frame. −26/+16 across 5 files.

Validated
836 TUI unit tests pass, and tui-traces passes all 9 smoke scenarios end to end (expand/collapse, click, drag-copy, drawer, trace switching, empty state). One assertion removed: trace-view.test.ts asserted both fields were 24 on adjacent lines, and the surviving one covers the value. tsc --noEmit, lint, fmt, guard:invariants clean.

@chadhietala chadhietala added the simplify-devbox Simplification found by the automated devbox code review label Jul 31, 2026
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
eve-docs Ready Ready Preview Jul 31, 2026 8:58pm
eve-docs-4759 Ready Ready Preview, v0 Jul 31, 2026 8:58pm

`renderTraceViewer` computed `const panelViewportRows = bodyRows` and
returned it beside `timelineViewportRows: bodyRows`, so both frame fields
and both matching `TraceViewerKeyEnvironment` fields have always carried
the same number — the conversation and the detail drawer are laid out in
the same body rows. Nothing ever set them apart, including in #1403 where
they were introduced.

Two names for one value meant a reader of `panelMaxScroll` could not tell
it was working in the same units as `conversationCellAt` without going
back to the renderer. One `bodyViewportRows` replaces both, and the
session stops copying the pair out of every frame.

`trace-view.test.ts` loses one of two adjacent assertions, because the
field it named no longer exists and its sibling already asserted the same
value; the state fixtures name the surviving field.

Signed-off-by: Chad Hietala <chadhietala@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

Bundle + Package Summary: apps/fixtures/weather-agent

Key takeaways

  • No notable deltas vs main (4b5e211).

Delta vs main (4b5e211)

Area Metric Baseline Current Delta
Package Packed tarball 7.58 MB 7.58 MB +558 B ⚠️
Package Unpacked publish size 28.41 MB 28.41 MB -267 B ✅
Package Installed footprint 85.40 MB 85.40 MB -267 B ✅
Package Published files 2946 2946 0
Package Installed files 6739 6739 0
Runtime Unique function payloads 2 2 0
Runtime Total function bytes 16.91 MB 16.91 MB -40 B ✅
Runtime Public routes 11 11 0
Changed function payloads vs main (4b5e211) (2)
Function Status Baseline Current Delta Route changes
functions/__server.func changed 8.45 MB 8.45 MB -20 B ✅ none
functions/.well-known/workflow/v1/flow.func changed 8.46 MB 8.46 MB -20 B ✅ none

eve init install

Metric Baseline Current Delta
Installed footprint 123.81 MB 123.81 MB -267 B ✅
Installed packages 128 128 0
dependencies 4 4 0
devDependencies 2 2 0
Dependency package bytes 42.79 MB 42.79 MB -267 B ✅
devDependency package bytes 5.04 MB 5.04 MB 0 B ➖
Build Metadata
  • Preset: vercel
  • Nitro: nitro@3.0.260610-beta
  • Output directory: apps/fixtures/weather-agent/.vercel/output
  • Build metadata timestamp: 2026-07-31T20:59:54.433Z
  • Route aliases: 11 public, 1 internal (12 total aliases)
  • Vercel routes in config: 14
  • Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down

Package Details

  • Package: eve@0.29.3
  • Package directory: packages/eve
  • Tarball: 7.58 MB (eve-0.29.3.tgz)
  • Unpacked payload: 28.41 MB across 2946 published files
  • Installed footprint: 85.40 MB across 6739 installed files
  • Installed root package: 27.06 MB
  • Installed dependencies: 58.34 MB
  • Runtime dependencies: 2
  • Peer dependencies: 5 (4 optional)

Installed footprint is measured from an isolated temporary npm install of the packed tarball.

Heavy installed dependencies

  • eve: 27.06 MB (31.7%)
  • @rolldown/binding-linux-x64-gnu: 19.28 MB (22.6%)
  • @rolldown/binding-wasm32-wasi: 10.66 MB (12.5%)
  • ai: 6.57 MB (7.7%)
  • zod: 5.07 MB (5.9%)
Publish payload breakdown
Published file size
🔴 dist/src/compiled/shadcn-registry/index.js       [#################.......] 9.68 MB 34.1%
🟠 dist/src/compiled/@photon-ai/chat-adapter-ime... [####....................] 2.42 MB 8.5%
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [###.....................] 1.51 MB 5.3%
🟡 dist/src/compiled/_chunks/node/undici-DWL_MYm... [#.......................] 502.4 kB 1.8%
🟡 dist/src/compiled/_chunks/workflow/undici-DWL... [#.......................] 502.4 kB 1.8%
🔴 Other published files                            [########################] 13.80 MB 48.6%
Installed footprint breakdown
Installed package size
🔴 eve                             [########################] 27.06 MB 31.7%
🔴 @rolldown/binding-linux-x64-gnu [#################.......] 19.28 MB 22.6%
🔴 @rolldown/binding-wasm32-wasi   [#########...............] 10.66 MB 12.5%
🔴 ai                              [######..................] 6.57 MB 7.7%
🔴 zod                             [####....................] 5.07 MB 5.9%
🟠 undici                          [###.....................] 3.50 MB 4.1%
🔴 Other installed packages        [############............] 13.26 MB 15.5%
Runtime dependencies (2)
Package Range Notes
nitro 3.0.260610-beta
undici 8.9.0
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: 123.81 MB across 8615 installed files
  • Installed packages: 128 total (122 transitive-only)
  • dependencies: 4 direct packages totaling 42.79 MB
  • devDependencies: 2 direct packages totaling 5.04 MB
  • Other transitive package files: 75.97 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 (22.6%)
  • eve: 27.06 MB (21.9%)
  • @rolldown/binding-linux-x64-gnu: 19.28 MB (15.6%)
  • @rolldown/binding-wasm32-wasi: 10.66 MB (8.6%)
  • zod: 9.02 MB (7.3%)
Installed footprint breakdown
Installed package size
🔴 @typescript/typescript-linux-x64 [########################] 27.95 MB 22.6%
🔴 eve                              [#######################.] 27.06 MB 21.9%
🔴 @rolldown/binding-linux-x64-gnu  [#################.......] 19.28 MB 15.6%
🔴 @rolldown/binding-wasm32-wasi    [#########...............] 10.66 MB 8.6%
🔴 zod                              [########................] 9.02 MB 7.3%
🔴 ai                               [######..................] 6.57 MB 5.3%
🔴 Other installed packages         [####################....] 23.27 MB 18.8%
dependencies (4)
Package Range Installed size Share
@vercel/connect 0.4.3 141.0 kB 0.1%
ai ^7.0.38 6.57 MB 5.3%
eve file:eve-0.29.3.tgz 27.06 MB 21.9%
zod 4.4.3 9.02 MB 7.3%
devDependencies (2)
Package Range Installed size Share
@types/node 24.x 2.54 MB 2.1%
typescript 7.0.2 2.50 MB 2.0%
Function Drill-Down

Payload Size Graph

Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func     [########################] 8.46 MB 50.0%
🔴 functions/__server.func                         [########################] 8.45 MB 50.0%

Top Function Payloads

🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 8.46 MB
Metric Value
Public routes /.well-known/workflow/v1/flow
Runtime nodejs24.x
Handler index.mjs
Payload 8.46 MB
Function files 8.46 MB across 43 files
Traced dependencies 0 B
Signal 🟠 Bundled file index.mjs is 2.31 MB (27.4%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 index.mjs                       [#######################.] 2.31 MB 27.4%
🟠 _chunks/runtime-artifacts.mjs   [################........] 1.59 MB 18.9%
🟡 _libs/undici.mjs                [##########..............] 980.5 kB 11.6%
🟡 _chunks/sandbox.mjs             [########................] 769.0 kB 9.1%
🟡 _libs/@ai-sdk/gateway+[...].mjs [####....................] 432.8 kB 5.1%
🟠 Other bundled files             [########################] 2.37 MB 28.0%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x",
  "maxDuration": "max",
  "experimentalTriggers": [
    {
      "type": "queue/v2beta",
      "topic": "__eve776561746865722d6167656e74_wkf_workflow_*",
      "consumer": "default",
      "retryAfterSeconds": 5,
      "initialDelaySeconds": 0
    }
  ],
  "environment": {
    "WORKFLOW_PRECONDITION_GUARD": "1"
  }
}

🟠 functions/__server.func • 10 public routes, 1 internal alias • 8.45 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]/cancel
/eve/v1/session/[sessionId]/stream
/eve/v1/session/reset
Internal aliases /__server
Runtime nodejs24.x
Handler index.mjs
Payload 8.45 MB
Function files 8.45 MB across 43 files
Traced dependencies 0 B
Signal 🟠 Bundled file index.mjs is 2.31 MB (27.4%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 index.mjs                       [#######################.] 2.31 MB 27.4%
🟠 _chunks/runtime-artifacts.mjs   [################........] 1.59 MB 18.9%
🟡 _libs/undici.mjs                [##########..............] 980.5 kB 11.6%
🟡 _chunks/sandbox.mjs             [########................] 769.0 kB 9.1%
🟡 _libs/@ai-sdk/gateway+[...].mjs [####....................] 432.8 kB 5.1%
🟠 Other bundled files             [########################] 2.36 MB 28.0%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x"
}

Build Timing: e2e/fixtures/agent-tools-sandbox

This is an informational timing measurement inside eve build, from preflight through publication. Output-size measurement and profile writing are excluded.

Build mode: deployable Vercel build with sandbox template prewarm included.

  • Build pipeline: 2.16 s -> 2.07 s (-84.6 ms) vs main (4b5e211).
  • Timing is informational: shared GitHub runners are too variable for a hard timing budget.
Detailed phase timings vs `main (4b5e211)`
Phase Baseline Current Delta
extension.check 9.5 ms 6.6 ms -2.9 ms
project.resolve 3.3 ms 1.4 ms -1.9 ms
workspace.create 3.0 ms 1.1 ms -1.9 ms
host.prepare 348.6 ms 191.7 ms -156.9 ms
vercel.service-prefix.resolve 2.0 ms 2.1 ms +0.1 ms
nitro.create 195.9 ms 199.7 ms +3.8 ms
sandbox.prewarm 303.5 ms 370.8 ms +67.3 ms
nitro.cache.prepare 0.2 ms 0.3 ms +0.1 ms
nitro.prepare 0.9 ms 0.8 ms -0.1 ms
nitro.public-assets 0.7 ms 0.7 ms 0.0 ms
nitro.prerender 0.4 ms 0.4 ms 0.0 ms
nitro.bundle 1.26 s 1.27 s +5.9 ms
nitro.cache.write 0.3 ms 0.3 ms 0.0 ms
vercel.workflow-function.materialize 20.7 ms 22.7 ms +2.0 ms
agent-summary.emit 0.5 ms 0.6 ms +0.1 ms
nitro.close 0.1 ms 0.2 ms +0.1 ms
output.publish 3.5 ms 3.4 ms -0.1 ms
workspace.remove 1.8 ms 1.8 ms 0.0 ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

simplify-devbox Simplification found by the automated devbox code review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant