Skip to content

fix(eve): support eve 0.53 and refresh workspace dependencies - #142

Merged
HugoRCD merged 1 commit into
mainfrom
fix/eve-053-deps-refresh
Sep 11, 2026
Merged

fix(eve): support eve 0.53 and refresh workspace dependencies#142
HugoRCD merged 1 commit into
mainfrom
fix/eve-053-deps-refresh

Conversation

@HugoRCD

@HugoRCD HugoRCD commented Sep 11, 2026

Copy link
Copy Markdown
Member

🔗 Linked issue

None.

📚 Description

eve 0.50 changed the dynamic-tool capability contract and requires extensions built against the earlier contract to be rebuilt, so @github-tools/eve-extension was unusable on eve 0.50 and newer while this repo sat on 0.46.1 behind a hard >=0.44.0 <0.48.0 peer ceiling. This rebuilds against eve 0.53 and refreshes dependencies across the workspace.

Eve extension

  • Rebuilt against eve 0.53. The generated manifest goes from tool: 20, dynamicTool: 20 to tool: 34, dynamicTool: 32. The authored defineTool pattern needed no source changes.
  • eve is now a * peer with an exact eve devDependency as the authoring and build version: the consuming agent supplies the runtime copy and eve validates the generated capability metadata instead of an npm range.
  • engines.node widens from 24.x to >=24.

Durability was verified in a built consumer rather than inferred from a passing build. In examples/eve, all three callbacks are hoisted with a JSON-serializable { name } closure:

approval: __eveStampDynamicCallback((...__args) => __eve_dynamic_approval_request_2({ name }, ...__args), ...)
toModelOutput: __eveStampDynamicCallback((...__args) => __eve_dynamic_to_model_output_1({ name }, ...__args), ...)
execute: __eveStampDynamicCallback(async (...__args) => await __eve_dynamic_exec_0({ name }, ...__args), ...)

SDK

  • The optional eve peer widens from >=0.44.0 <0.48.0 to >=0.44.0, so @github-tools/sdk/eve-runtime and the deprecated @github-tools/sdk/eve / @github-tools/sdk/connect/eve entry points install against current eve releases. Those entry points keep their behavior and stay deprecated.

Dependencies

Updated across all seven manifests, with four exceptions held back because the latest release is unusable here:

Package Latest Kept Reason
typescript 7.0.2 6.0.3 rolldown-plugin-dts peers typescript@^5 and crashes on 7; typescript-eslint caps at <6.1.0
@ai-sdk/workflow 2.0.28 1.0.70 2.x peers workflow@^5.0.0-beta.42; stable workflow is 4.x
h3 2.0.1-rc.31 ^1.15.11 The latest tag is a release candidate, and the chat app never imports h3
@workflow/nitro 4.1.12 4.1.6 Deliberate exact pin, as with nuxtseo-layer-devtools

workflow@4.8.8 is held at 4.8.6 by the 48-hour minimumReleaseAge gate.

The @ai-sdk/vue>ai override is removed because @ai-sdk/vue@4.0.97 pins the same ai version natively — keeping it would have created a duplicate copy. @ai-sdk/workflow>ai moves to 7.0.97, so the tree resolves a single ai. packageManager declarations are aligned on pnpm@11.1.3.

Tests and docs

  • The durable-callback AST guard now covers every phase eve stamps, including approvalKey and the nested label callbacks, with execute as the only required one. Negative-tested to confirm it still fails on a spread.
  • Docs, the published Agent Skill, AGENTS.md and CONTRIBUTING.md drop the obsolete >=0.44 / <0.48 framing and describe eve's current failure mode (it rejects a dynamic tool whose callback has no durable descriptor, rather than silently discarding the whole toolset).
  • The extension README no longer documents a buildEveToolMap(...) structure that has not existed for several releases.

Notes for review

  • The eve scaffold's prepare: "eve extension build" script is intentionally not added. eve extension build fails with Cannot resolve declared package "@github-tools/sdk/eve-runtime" when the SDK's dist/ is absent, and prepare runs during pnpm install before Turbo can build the SDK, so it would break every fresh clone. Turbo and pnpm release already build in dependency order.
  • apps/chat's Nitro build OOMs at the default 4 GB heap. This was confirmed pre-existing on unmodified main and is not caused by this PR; it does not affect CI, which builds only examples/* and the packages. Verification used NODE_OPTIONS=--max-old-space-size=8192. Worth a separate fix.
  • The TODO(eve-connect-bundle) workaround for the deprecated direct-import path is left documented as-is; confirming whether @vercel/connect@2 still needs it would require a deprecated-path agent that does not exist in the repo.

pnpm build, pnpm lint, pnpm typecheck and pnpm test all exit 0.

📝 Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.

eve 0.50 changed the dynamic-tool capability contract and requires
extensions built against the earlier contract to be rebuilt, so the
extension was unusable on eve 0.50 and newer. Rebuilding against 0.53
raises the generated manifest from tool 20 / dynamicTool 20 to
tool 34 / dynamicTool 32. The authored defineTool pattern needed no
source changes.

The extension now declares eve as a "*" peer with an exact devDependency
as its authoring and build version: the consuming agent supplies the
runtime copy and eve validates the generated capability metadata rather
than an npm range. The SDK's optional eve peer widens to >=0.44.0 so the
eve-runtime and deprecated eve entry points install alongside it.

Dependencies are updated across the workspace, with four exceptions kept
back because the latest release is unusable here:

- typescript stays on 6.0.3: rolldown-plugin-dts peers typescript ^5 and
  crashes on 7, and typescript-eslint caps at <6.1.0
- @ai-sdk/workflow stays on 1.x: 2.x peers workflow ^5.0.0-beta.42
- h3 stays on ^1.15.11: the latest tag is a release candidate
- @workflow/nitro and nuxtseo-layer-devtools keep their exact pins

The @ai-sdk/vue>ai override is removed because @ai-sdk/vue now pins the
same ai version natively, and @ai-sdk/workflow>ai moves to 7.0.97, so the
tree resolves a single ai copy. packageManager declarations are aligned
on pnpm@11.1.3.

The durable-callback AST guard now covers every phase eve stamps,
including approvalKey and the nested label callbacks, with execute as the
only required one. Docs, the published Agent Skill, AGENTS.md and
CONTRIBUTING.md drop the obsolete >=0.44 / <0.48 framing and describe
eve's current failure mode, and the extension README no longer documents
a buildEveToolMap structure that has not existed for several releases.
@vercel

vercel Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
github-tools-docs Ready Ready Preview, v0 Sep 11, 2026 10:39am UTC
github-tools-test-agent Ready Ready Preview, v0 Sep 11, 2026 10:39am UTC

@github-actions github-actions Bot added the bug Something isn't working label Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for following the naming conventions! 🙏

@socket-security

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
Updatednpm/​@​workflow/​nuxt@​4.0.21 ⏵ 4.0.22100 +11006197100
Updatednpm/​satori@​0.29.0 ⏵ 0.33.498100100 +199 +170
Updatednpm/​@​ai-sdk/​gateway@​4.0.68 ⏵ 4.0.7871 +110087 +198100
Updatednpm/​@​ai-sdk/​vue@​4.0.84 ⏵ 4.0.97991007398100
Updatednpm/​@​changesets/​cli@​2.31.1 ⏵ 3.0.299 +210074 -2597 +1100
Updatednpm/​typescript-eslint@​8.65.0 ⏵ 8.70.010010074 +196 -1100
Updatednpm/​@​ai-sdk/​provider@​4.0.8 ⏵ 4.0.1310010076 +198 +1100
Updatednpm/​@​ai-sdk/​provider-utils@​5.0.33 ⏵ 5.0.3989 -410076 +198100
Updatednpm/​@​iconify-json/​logos@​1.2.12 ⏵ 1.2.141001007688 -1100
Updatednpm/​@​iconify-json/​simple-icons@​1.2.94 ⏵ 1.2.951001007696 +1100
Updatednpm/​@​nuxt/​eslint@​1.16.0 ⏵ 1.17.0981007795 +2100
Updatednpm/​@​iconify-json/​lucide@​1.2.127 ⏵ 1.2.130100 +110079 +196 +1100
Updatednpm/​vitest@​4.1.10 ⏵ 5.0.098 +1100 +279 +199100
Updatednpm/​eve@​0.46.1 ⏵ 0.53.199100100 +19880
Updatednpm/​@​types/​node@​26.4.0 ⏵ 26.5.0100 +110081 +196100
Updatednpm/​nitro@​3.0.260610-beta ⏵ 3.0.260903-beta98 +11008291100
Updatednpm/​vite@​8.2.0 ⏵ 8.2.29810082 +197100
Updatednpm/​nuxt-charts@​2.2.0 ⏵ 2.2.182100100 +195 +1100
Updatednpm/​workflow@​4.8.5 ⏵ 4.8.6991008699100
Updatednpm/​pg@​8.22.0 ⏵ 8.23.099 +1100100 +187 -1100
Updatednpm/​tsdown@​0.22.14 ⏵ 0.23.09810088 +198 +2100
Updatednpm/​@​libsql/​client@​0.17.4 ⏵ 0.18.0100 +1100100 +190 +1100
Updatednpm/​better-sqlite3@​12.11.1 ⏵ 13.0.310010010090100
Updatednpm/​nuxt-auth-utils@​0.5.29 ⏵ 0.5.3098100100 +191 +5100
Updatednpm/​vue-tsc@​3.3.9 ⏵ 3.3.111001009197100
Updatednpm/​nuxt@​4.5.1 ⏵ 4.5.297 +8100100 +194 +1100
Updatednpm/​motion-v@​2.4.0 ⏵ 2.4.2100 +110010095 +3100
Updatednpm/​@​changesets/​changelog-github@​0.7.0 ⏵ 1.0.1100 +110095 +2895 +2100
Updatednpm/​evlog@​2.27.1 ⏵ 2.29.098 +110010096 +1100
Updatednpm/​zod@​4.4.3 ⏵ 4.5.410010010096100
Updatednpm/​@​vercel/​blob@​2.6.1 ⏵ 2.8.097 +2210097 +199 +2100
Updatednpm/​eslint@​10.8.0 ⏵ 10.10.097 +110010097100
See 5 more rows in the dashboard

View full report

@HugoRCD
HugoRCD merged commit 542c417 into main Sep 11, 2026
16 checks passed
@HugoRCD
HugoRCD deleted the fix/eve-053-deps-refresh branch September 11, 2026 11:21
@github-actions github-actions Bot mentioned this pull request Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant