feat(eve): add eve extension init and eve extension build#686
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
Bundle + Package Summary:
|
| Area | Metric | Baseline | Current | Delta |
|---|---|---|---|---|
| Package | Packed tarball | 3.60 MB | 3.61 MB | +3.1 kB |
| Package | Unpacked publish size | 13.07 MB | 13.09 MB | +22.0 kB |
| Package | Installed footprint | 52.16 MB | 52.18 MB | +22.0 kB |
| Package | Published files | 2514 | 2520 | +6 |
| Package | Installed files | 5745 | 5751 | +6 |
| Runtime | Unique function payloads | 2 | 2 | 0 |
| Runtime | Total function bytes | 8.97 MB | 8.97 MB | -176 B ✅ |
| Runtime | Public routes | 9 | 9 | 0 |
Changed function payloads vs main (c8f00aa) (2)
| Function | Status | Baseline | Current | Delta | Route changes |
|---|---|---|---|---|---|
functions/__server.func |
changed | 3.32 MB | 3.32 MB | -144 B ✅ | none |
functions/.well-known/workflow/v1/flow.func |
changed | 5.65 MB | 5.65 MB | -32 B ✅ | none |
eve init install
| Metric | Baseline | Current | Delta |
|---|---|---|---|
| Installed footprint | 90.43 MB | 90.45 MB | +22.0 kB |
| Installed packages | 122 | 122 | 0 |
| dependencies | 4 | 4 | 0 |
| devDependencies | 2 | 2 | 0 |
| Dependency package bytes | 27.25 MB | 27.27 MB | +22.0 kB |
| 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-10T18:56:38.576Z
- 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:
eve@0.22.4 - Package directory:
packages/eve - Tarball: 3.61 MB (
eve-0.22.4.tgz) - Unpacked payload: 13.09 MB across 2520 published files
- Installed footprint: 52.18 MB across 5751 installed files
- Installed root package: 11.81 MB
- Installed dependencies: 40.37 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.7%)eve: 11.81 MB (22.6%)ai: 6.36 MB (12.2%)zod: 5.04 MB (9.7%)nitro: 2.41 MB (4.6%)
Publish payload breakdown
Published file size
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [####....................] 1.51 MB 11.5%
🟡 dist/src/compiled/@vercel/sandbox/index.js [##......................] 632.2 kB 4.8%
🟡 dist/src/compiled/_chunks/workflow/undici-fb5... [#.......................] 502.4 kB 3.8%
🟡 dist/src/compiled/@chat-adapter/slack/index.js [#.......................] 433.8 kB 3.3%
🟡 dist/src/compiled/_chunks/workflow/dist-DJU_7... [#.......................] 276.2 kB 2.1%
🔴 Other published files [########################] 9.74 MB 74.4%
Installed footprint breakdown
Installed package size
🔴 @rolldown/binding-linux-x64-gnu [########################] 19.13 MB 36.7%
🔴 eve [###############.........] 11.81 MB 22.6%
🔴 ai [########................] 6.36 MB 12.2%
🔴 zod [######..................] 5.04 MB 9.7%
🟠 nitro [###.....................] 2.41 MB 4.6%
🟡 rolldown [#.......................] 785.9 kB 1.5%
🔴 Other installed packages [########................] 6.65 MB 12.7%
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.45 MB across 7569 installed files
- Installed packages: 122 total (116 transitive-only)
- dependencies: 4 direct packages totaling 27.27 MB
- devDependencies: 2 direct packages totaling 5.04 MB
- Other transitive package files: 58.14 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.9%)@rolldown/binding-linux-x64-gnu: 19.13 MB (21.2%)eve: 11.81 MB (13.1%)zod: 9.00 MB (9.9%)ai: 6.36 MB (7.0%)
Installed footprint breakdown
Installed package size
🔴 @typescript/typescript-linux-x64 [########################] 27.95 MB 30.9%
🔴 @rolldown/binding-linux-x64-gnu [################........] 19.13 MB 21.2%
🔴 eve [##########..............] 11.81 MB 13.1%
🔴 zod [########................] 9.00 MB 9.9%
🔴 ai [#####...................] 6.36 MB 7.0%
🟠 @types/node [##......................] 2.54 MB 2.8%
🔴 Other installed packages [############............] 13.66 MB 15.1%
dependencies (4)
| Package | Range | Installed size | Share |
|---|---|---|---|
@vercel/connect |
0.2.2 |
98.6 kB | 0.1% |
ai |
^7.0.0 |
6.36 MB | 7.0% |
eve |
file:eve-0.22.4.tgz |
11.81 MB | 13.1% |
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.8% |
Function Drill-Down
Payload Size Graph
Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func [########################] 5.65 MB 63.0%
🟠 functions/__server.func [##############..........] 3.32 MB 37.0%
Top Function Payloads
🔴 functions/.well-known/workflow/v1/flow.func • 1 public route • 5.65 MB
| Metric | Value |
|---|---|
| Public routes | /.well-known/workflow/v1/flow |
| Runtime | nodejs24.x |
| Handler | index.mjs |
| Payload | 5.65 MB |
| Function files | 5.65 MB across 31 files |
| Traced dependencies | 0 B |
| Signal | 🔴 Bundled file __eve_nitro_handler__.mjs is 2.83 MB (50.1%) |
🔴 🔎 Dependency Analysis
📦 Bundled files:
Bundled file size
🔴 __eve_nitro_handler__.mjs [########################] 2.83 MB 50.1%
🟡 _chunks/sandbox.mjs [######..................] 766.3 kB 13.6%
🟡 _libs/@ai-sdk/gateway+[...].mjs [####....................] 413.6 kB 7.3%
🟡 _chunks/dist-DJU_7R9s.mjs [###.....................] 335.6 kB 5.9%
🟡 _libs/ai.mjs [##......................] 270.1 kB 4.8%
🟠 Other bundled files [#########...............] 1.03 MB 18.3%
🧾 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.32 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.32 MB |
| Function files | 3.32 MB across 21 files |
| Traced dependencies | 0 B |
| Signal | 🟠 Bundled file _chunks/dev-runtime-artifacts.mjs is 941.0 kB (28.4%) |
🟠 🔎 Dependency Analysis
📦 Bundled files:
Bundled file size
🟠 _chunks/dev-runtime-artifacts.mjs [########################] 941.0 kB 28.4%
🟠 index.mjs [####################....] 781.8 kB 23.6%
🟠 _chunks/sandbox.mjs [####################....] 766.3 kB 23.1%
🟡 _chunks/dist-DJU_7R9s.mjs [#########...............] 335.6 kB 10.1%
⚪ _chunks/resume-hook-DjPY9VGg.mjs [###.....................] 119.2 kB 3.6%
🟡 Other bundled files [##########..............] 373.3 kB 11.3%
🧾 Vercel Config
{
"handler": "index.mjs",
"launcherType": "Nodejs",
"shouldAddHelpers": false,
"supportsResponseStreaming": true,
"runtime": "nodejs24.x"
}| .replaceAll("__EVE_INIT_NODE_ENGINE__", ctx.nodeEngine); | ||
| } | ||
|
|
||
| function packageJsonTemplate(includeRootOnlyFields: boolean): string { |
There was a problem hiding this comment.
There's already a template that does this maybe just reuse it and interpolate on named exports?
There was a problem hiding this comment.
Good call — updated. The extension package.json is now built from a plain object (so exports stays a named field) and reuses the agent scaffold's ROOT_ONLY_PACKAGE_JSON_TEMPLATE_SUFFIX for the non-workspace engines block, instead of duplicating a raw JSON string template.
Add a create-only init mode that writes an ext/ package (defineExtension, peer+dev eve, zod) with the same install/git flow as agent init, then prints next steps instead of starting eve dev. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Replace init --extension with an extension command group. Scaffold and build extensions via eve extension init and eve extension build; eve build is agent-only and redirects extension packages to the new build command. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Reuse the agent scaffold's root-only engines suffix and keep exports as a named field instead of hand-rolled JSON text. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Also link the extension section intro to the Extensions guide. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Keep the CLI error for mistaken eve build on extension packages; docs only describe the positive commands. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Leave extension detail under extension commands and the Extensions guide. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Use ./extension as the default source root in eve extension init and docs examples (package.json eve.extension, files, tsconfig include). Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Align e2e fixtures and scenario tests with the scaffold default of ./extension for package.json#eve.extension. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
4baa488 to
01fca87
Compare
The path-containment tests still used /pkg/crm/ext as the source root while importers lived under /pkg/crm/extension after the rename. Signed-off-by: Casey Gowrie <ctgowrie@gmail.com>
Summary
eve extension init [target]to scaffold a reusable extension package (ext/extension.ts, peer+deveve, zod,build/prepare→eve extension build).eve extension buildto compile extension packages declared withpackage.json#eve.extension.eve buildagent-only: extension packages fail with a clear redirect toeve extension build.eve init --extension; agent init stays agent-only.Test plan
extension-initcreate, coding-agent named/bare, existing-project rejection, package-spec overrideextension-buildrejects non-extensions; builds a valid packageinitstill green; scaffold extension package scripts point ateve extension buildpnpm docs:checktsc --noEmitforpackages/eve