Skip to content

feat(eve): accept an async token provider in token - #98

Merged
HugoRCD merged 3 commits into
vercel-labs:mainfrom
ycarmel:eve-extension-token-factory
Aug 25, 2026
Merged

feat(eve): accept an async token provider in token#98
HugoRCD merged 3 commits into
vercel-labs:mainfrom
ycarmel:eve-extension-token-factory

Conversation

@ycarmel

@ycarmel ycarmel commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

The extension's config schema narrowed token to z.string() while the
SDK underneath (EveGithubToolsOptions.token) already accepts
GithubTokenInput = string | (() => Promise<string>). Agents that
authenticate as a GitHub App mint short-lived installation tokens (≤1h),
so a string forces them off the extension and onto the
@github-tools/sdk/eve-runtime subpath — which, since eve 0.43 made
dynamic-tool callbacks durable-by-transform, no longer produces replayable
tools from library code. Widening the schema (same z.custom shape
connector already uses) lets those agents mount the extension and pass
their token minter directly; buildSessionOptions forwards it unchanged.

Verification

  • pnpm --filter @github-tools/eve-extension typecheck and build (eve extension build) pass.
  • Consumer context: an eve 0.44.4 agent authenticating with a GitHub App (hourly-rotating installation tokens) that currently has to author its own defineDynamic/defineTool resolver over listEveToolDescriptors/executeGithubEveTool because the extension can't take a token factory.

Changeset included (@github-tools/eve-extension: minor).

@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Someone is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Thank you for following the naming conventions! 🙏

@HugoRCD HugoRCD changed the title feat(eve-extension): accept an async token provider in token feat(eve): accept an async token provider in token Aug 25, 2026
@HugoRCD

HugoRCD commented Aug 25, 2026

Copy link
Copy Markdown
Member

@ycarmel Hey! Thanks for the PR, I've made a few small updates and it's almost ready to be merged. We just need the first commit to be signed, otherwise we won't be able to merge the PR.

@ycarmel
ycarmel force-pushed the eve-extension-token-factory branch from c5c47d9 to 5b256ee Compare August 25, 2026 14:42
ycarmel and others added 3 commits August 25, 2026 17:44
The extension's config schema narrowed `token` to `z.string()` while the
SDK underneath (`EveGithubToolsOptions.token`) already accepts
`GithubTokenInput = string | (() => Promise<string>)`. Agents that
authenticate as a GitHub App mint short-lived installation tokens (≤1h),
so a string forces them off the extension and onto the
`@github-tools/sdk/eve-runtime` subpath — which, since eve 0.43 made
dynamic-tool callbacks durable-by-transform, no longer produces replayable
tools from library code. Widening the schema (same `z.custom` shape
`connector` already uses) lets those agents mount the extension and pass
their token minter directly; `buildSessionOptions` forwards it unchanged.
Re-exporting GithubTokenInput from eve-runtime pulled chat and the PR review example into --affected, where they already fail on unrelated ai version skew.
@ycarmel
ycarmel force-pushed the eve-extension-token-factory branch from 5b256ee to e6e7e3a Compare August 25, 2026 14:44
@ycarmel

ycarmel commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Re-signed the branch (SSH) and force-pushed — all three commits now show Verified. Your two follow-ups are preserved as-is (you remain author; I'm the committer, which is what the ruleset checks). Ready to merge from my side, thanks!

@HugoRCD
HugoRCD merged commit 96059c2 into vercel-labs:main Aug 25, 2026
11 of 13 checks passed
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.

2 participants