feat(eve): search team-scoped Vercel projects#110
Draft
ruiconti wants to merge 3 commits into
Draft
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Jun 19, 2026
Signed-off-by: Rui Conti <ruiconti@gmail.com>
bd8ba8f to
f30ee3d
Compare
756de4c to
9591473
Compare
….json 9591473 replaced the non-interactive `vercel link` call with a hand-rolled writeProjectLink: it wrote .vercel/project.json, re-added the .gitignore entry, and read the link back to verify identity — justified as avoiding "Vercel CLI plugin onboarding". That onboarding does not occur. Observed: `vercel link --project <id> --scope <team> --yes --non-interactive` with stdin closed exits 0 in ~1s, writes the same project.json shape, and adds .vercel to .gitignore itself — no prompts, no MCP/plugin step. Restore the primitive call (as in #39) and drop the reimplementation: writeProjectLink, its now-orphaned ensureVercelIgnored helper, the read-back check (the setup box already re-verifies via detectProjectResolution), and the integration test that only exercised writeProjectLink. Also de-export four picker/api types referenced solely within their defining file. Signed-off-by: Rui Conti <ruiconti@gmail.com>
…king
Existing-project linking now threads `VercelProjectIdentity {projectId,
projectName}` end to end: `pickProject` returns it inside the
`ResolvedVercelProject` spec, and `linkProject` links that exact project
instead of re-resolving the name (which could target a different project when
names collide). The project box then verifies the written `.vercel/project.json`
id matches the selection and fails loudly on mismatch.
Surrounding cleanup in the same area:
- List projects via `vercel project ls --format json` rather than the raw
`/v9/projects` API (pagination cursor `until` -> `next`); drop the picker's
now-unneeded `updatedAt` sort/merge.
- Remove legacy `.now` link-directory handling in favor of an explicit
`assertNoLegacyProjectLinkDirectory` guard; `readProjectLink` reads only
`.vercel/project.json`.
- Fold the three API-failure classifiers onto a shared `apiFailureText()`.
- Unify the `{signal}` operation-options type as `VercelProjectOperationOptions`
(canonical in project-resolution, re-exported from vercel-project-api;
`ProjectDetectionOptions` removed).
- Move the spinner wrapper that was duplicated in vercel-project.ts and both
Vercel flows to `cli/network-spinner.ts`.
- CI guidance strings now show `vercel link --project <name> --yes
--non-interactive`.
The added integration test was not run here: the integration tier needs a full
build for the `#internal/workflow-bundle` artifact, unavailable in this env.
Signed-off-by: Rui Conti <ruiconti@gmail.com>
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.
Description
The existing-project picker could only see the first Vercel project page and did not make team ownership explicit. That makes valid projects disappear and gives later auth work an ambiguous project identity.
This PR adds a team-scoped, fully paginated project boundary on top of #109.
What
Scope
This PR owns discovery, selection, and linking. It does not add startup authentication recovery or Trusted Sources mutation.
Stack
Verification
PR Checklist