fix(eve): harden the eve integration against upstream drift - #114
Merged
Conversation
- honor object-shaped ApprovalConfiguration values instead of silently mapping them to always(); configurations pass through to defineTool so response authorizers survive - align the workspace on eve 0.46.1 (SDK was typed against 0.40) and fix the type breaks the bump surfaced (approval types moved to eve/tools/approval, defineTool overload resolution) - bound the eve peer ranges to the tested versions (>=0.44 <0.48) - add a registry parity test pinning the eve tool registry to GITHUB_TOOL_NAMES, and a scheduled canary workflow against eve@latest - validate requireApproval/overrides keys against the tool catalog in the extension config schema - deprecate MISSING_EVE_MESSAGE (never thrown since static imports) - docs: ten presets, not five
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.
Summary
Follow-up to an audit of the eve integration after #108/#110/#112. eve ships several releases a week and the durable-stamp contract is undocumented; this PR fixes one latent bug and adds the guards that catch upstream drift before consumers do.
ApprovalConfigurationvalues ({ request, response }) passed viarequireApprovaloroverrides.approvalwere silently replaced byalways(). They now pass through todefineToolunchanged, so aresponseauthorizer survives.eve ~0.40.0while the extension used^0.46.1. The workspace is now on a single version (0.46.1). The bump surfaced two real type breaks the skew was masking (approval types moved toeve/tools/approval;defineTooloverload resolution picks the background-tool overload on bare literals), both fixed.eve >=0.44.0 <0.48.0(the SDK claimed>=0.19.0).GITHUB_TOOL_NAMES(TypeScript catches typos but not omissions), and a scheduled canary workflow (eve-canary.yml, daily) builds and tests the SDK and extension againsteve@latest— the static AST guard only encodes stamping rules we already know about.requireApprovalandoverrideskeys are validated against the tool catalog at mount time; a mistyped tool name now fails validation instead of being silently ignored.MISSING_EVE_MESSAGEis deprecated (never thrown since eve moved to static imports); docs corrected (ten presets, not five).Changesets: patch for
@github-tools/sdkand@github-tools/eve-extension.Test plan
pnpm build,pnpm lint,pnpm typecheck,pnpm testall passApprovalConfigurationpassthrough (resolveEveToolApproval) andrequestextraction (mapEveApprovalValue)