Skip to content

feat(eve): build with eve 0.81 and add input-aware approval prompts - #180

Merged
HugoRCD merged 1 commit into
mainfrom
feat/eve-0.81
Oct 21, 2026
Merged

HugoRCD merged 1 commit into
mainfrom
feat/eve-0.81

Conversation

@HugoRCD

@HugoRCD HugoRCD commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Written by an AI agent on behalf of @HugoRCD. @HugoRCD has reviewed it.

🔗 Linked issue

None.

📚 Description

Builds @github-tools/eve-extension with eve 0.81.1 and uses eve 0.79's approval.prompt to give write-tool approval requests a readable summary.

Minimum eve version. eve extension build writes the newest tool contract of the building eve into _manifest.json, regardless of which features the extension uses:

 {
   "kind": "eve-extension",
   "formatVersion": 2,
-  "builtWithEve": "0.72.1",
+  "builtWithEve": "0.81.1",
   "requires": {
     "extension": 1,
-    "tool": 76,
-    "dynamicTool": 72,
+    "tool": 93,
+    "dynamicTool": 87,
     "config": 1
   }
 }

Checking extension-compatibility.js in each published eve release shows 0.81.0 is the first that supports tool contract 93 and dynamic-tool contract 87. Agents on eve 0.72 to 0.80 cannot mount this build, so the changeset is minor and tells them to stay on 0.8.x. The eve peer range stays *.

Approval prompts. Write tools now set approval in object form, with inline request and prompt callbacks. The prompt names the action and its target; owner, repo and the PR, issue or discussion number fall back to context. Prompts recorded by eve during the agent run below:

Add labels on vercel-labs/github-tools#145?
Add issue comment on vercel-labs/github-tools#99?
Add pull request comment on vercel-labs/github-tools#146?
Rerun workflow run on vercel-labs/github-tools?
Create branch on vercel-labs/github-tools?
Create or update file on vercel-labs/github-tools?
Create pull request on vercel-labs/github-tools?

Before this change eve showed its default Approve <tool label>?. In the built examples/eve server, eve stamps the new callback as a durable descriptor, __eve_dynamic_approval_prompt_3({ name }, { input }), next to __eve_dynamic_approval_request_2. The AST guard in test/durable-define-tool.test.ts now also accepts approval as an object whose request, prompt and response callbacks are inline.

Dependencies.

  • Extension: eve devDependency pinned to 0.81.1.
  • SDK, examples/eve, examples/eve-bench: eve ^0.81.1. eve 0.77 requires ai 7.0.137 or later, so ai moves to ^7.0.148 across the workspace, with the @ai-sdk/workflow>ai override and @ai-sdk/* packages to match.

Docs. The docs site, published skill, extension README and AGENTS.md said "built against eve 0.64". They now state the eve 0.81 minimum and describe the approval prompts.

Testing

Real eve agent: examples/eve-bench (eve 0.81.1 dev server, Claude Opus 5.5 through AI Gateway with a vercel-internal-playground OIDC token, GitHub reads against vercel-labs/github-tools, GitHub writes answered by the bench's local stub, every approval answered approve):

$ BENCH_CONFIG=all npx eve eval --skip-report
Results: 12 passed (12 total)
Gates: 24 passed
Completed in 3m 20s

All 8 stubbed writes ran after approval (addLabels, two addIssueComment, addPullRequestComment, rerunWorkflowRun, createBranch, createOrUpdateFile, createPullRequest).

BENCH_CONFIG=auto (preset: 'auto', requireApproval: 'auto') ended at 5 passed, 7 failed. Every Jev call returned 403 RestrictedProvidersError: the playground team's AI Gateway allowlist blocks the typesafe-ai provider. The extension fell back to the repo-explorer preset as designed, which has no write tools, so the write tasks failed. This needs a team that allows typesafe-ai to verify.

examples/eve uses the github/test-github-tools Connect connector in vercel-labs, which a playground token cannot reach, so it was built but not run.

Local checks: pnpm lint, pnpm typecheck and pnpm test pass (176 SDK tests and the extension guard test). pnpm build passes except examples/eve, which needs microsandbox for the sandbox prewarm on Apple Silicon. eve build --skip-sandbox-prewarm succeeds, and scripts/verify-eve-schema-transform.mjs passes on its output.

📝 Checklist

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

ELI5

The GitHub tools plug into an agent framework called eve, and eve has new versions. This updates the plug to the newest version, so it needs that newest version to work. When the agent wants to change something on GitHub and asks a person first, the question now says exactly what it will do and where, like "Merge pull request on #176?".

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for following the naming conventions! 🙏

@HugoRCD HugoRCD self-assigned this Oct 21, 2026
@vercel

vercel Bot commented Oct 21, 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 Oct 21, 2026 3:07pm UTC
github-tools-test-agent Ready Ready Preview, v0 Oct 21, 2026 3:07pm UTC

@HugoRCD
HugoRCD merged commit 5017b58 into main Oct 21, 2026
14 checks passed
@HugoRCD
HugoRCD deleted the feat/eve-0.81 branch October 21, 2026 15:07
@github-actions github-actions Bot mentioned this pull request Oct 21, 2026

This branch was successfully deployed

2 active deployments
Preview – github-tools-docs — 4b6d8156 Deployed Oct 21, 2026 by vercel[bot]
Preview – github-tools-test-agent — 4b6d8156 Deployed Oct 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant