fix(eve): support eve 0.53 and refresh workspace dependencies - #142
Merged
Conversation
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.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Thank you for following the naming conventions! 🙏 |
Merged
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.
🔗 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-extensionwas unusable on eve 0.50 and newer while this repo sat on 0.46.1 behind a hard>=0.44.0 <0.48.0peer ceiling. This rebuilds against eve 0.53 and refreshes dependencies across the workspace.Eve extension
tool: 20, dynamicTool: 20totool: 34, dynamicTool: 32. The authoreddefineToolpattern needed no source changes.eveis now a*peer with an exactevedevDependency 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.nodewidens from24.xto>=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:SDK
evepeer widens from>=0.44.0 <0.48.0to>=0.44.0, so@github-tools/sdk/eve-runtimeand the deprecated@github-tools/sdk/eve/@github-tools/sdk/connect/eveentry 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:
typescriptrolldown-plugin-dtspeerstypescript@^5and crashes on 7;typescript-eslintcaps at<6.1.0@ai-sdk/workflowworkflow@^5.0.0-beta.42; stableworkflowis 4.xh3latesttag is a release candidate, and the chat app never imports h3@workflow/nitronuxtseo-layer-devtoolsworkflow@4.8.8is held at 4.8.6 by the 48-hourminimumReleaseAgegate.The
@ai-sdk/vue>aioverride is removed because@ai-sdk/vue@4.0.97pins the sameaiversion natively — keeping it would have created a duplicate copy.@ai-sdk/workflow>aimoves to 7.0.97, so the tree resolves a singleai.packageManagerdeclarations are aligned onpnpm@11.1.3.Tests and docs
approvalKeyand the nestedlabelcallbacks, withexecuteas the only required one. Negative-tested to confirm it still fails on a spread.AGENTS.mdandCONTRIBUTING.mddrop the obsolete>=0.44/<0.48framing 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).buildEveToolMap(...)structure that has not existed for several releases.Notes for review
prepare: "eve extension build"script is intentionally not added.eve extension buildfails withCannot resolve declared package "@github-tools/sdk/eve-runtime"when the SDK'sdist/is absent, andprepareruns duringpnpm installbefore Turbo can build the SDK, so it would break every fresh clone. Turbo andpnpm releasealready build in dependency order.apps/chat's Nitro build OOMs at the default 4 GB heap. This was confirmed pre-existing on unmodifiedmainand is not caused by this PR; it does not affect CI, which builds onlyexamples/*and the packages. Verification usedNODE_OPTIONS=--max-old-space-size=8192. Worth a separate fix.TODO(eve-connect-bundle)workaround for the deprecated direct-import path is left documented as-is; confirming whether@vercel/connect@2still needs it would require a deprecated-path agent that does not exist in the repo.pnpm build,pnpm lint,pnpm typecheckandpnpm testall exit 0.📝 Checklist