feat(migrate): wire GitHub PAT through to agent runner mirror call

MigrateSetup now sends the PAT field to the API; create route
forwards it as github_token so the agent runner can clone private repos.

Made-with: Cursor
This commit is contained in:
2026-03-09 18:05:12 -07:00
parent 3e9bf7c0e0
commit 6901a97db3
2 changed files with 3 additions and 2 deletions

View File

@@ -66,6 +66,7 @@ export async function POST(request: Request) {
githubRepoId, githubRepoId,
githubRepoUrl, githubRepoUrl,
githubDefaultBranch, githubDefaultBranch,
githubToken,
} = body; } = body;
// Check slug uniqueness // Check slug uniqueness
@@ -126,6 +127,7 @@ export async function POST(request: Request) {
github_url: githubRepoUrl, github_url: githubRepoUrl,
gitea_repo: `${GITEA_ADMIN_USER}/${repoName}`, gitea_repo: `${GITEA_ADMIN_USER}/${repoName}`,
project_name: projectName, project_name: projectName,
github_token: githubToken || undefined,
}), }),
}); });
if (!mirrorRes.ok) { if (!mirrorRes.ok) {

View File

@@ -46,9 +46,8 @@ export function MigrateSetup({ workspace, onClose, onBack }: SetupProps) {
slug: name.toLowerCase().replace(/[^a-z0-9]+/g, "-"), slug: name.toLowerCase().replace(/[^a-z0-9]+/g, "-"),
product: { name: name.trim() }, product: { name: name.trim() },
creationMode: "migration", creationMode: "migration",
// Top-level fields the create route reads for the mirror flow
githubRepoUrl: repoUrl.trim() || undefined, githubRepoUrl: repoUrl.trim() || undefined,
// Preserve extra metadata for future use githubToken: pat.trim() || undefined,
sourceData: { sourceData: {
liveUrl: liveUrl.trim() || undefined, liveUrl: liveUrl.trim() || undefined,
hosting: hosting || undefined, hosting: hosting || undefined,