diff --git a/packages/sdk/auth-js-provider/package.json b/packages/sdk/auth-js-provider/package.json index 684306325..cc472297c 100644 --- a/packages/sdk/auth-js-provider/package.json +++ b/packages/sdk/auth-js-provider/package.json @@ -45,6 +45,6 @@ "dist/**/*" ], "peerDependencies": { - "@auth/core": "^0.18.0" + "@auth/core": "^0.40.0" } } diff --git a/packages/sdk/echo-start/src/index.ts b/packages/sdk/echo-start/src/index.ts index e51102625..a2676ee63 100644 --- a/packages/sdk/echo-start/src/index.ts +++ b/packages/sdk/echo-start/src/index.ts @@ -276,8 +276,19 @@ async function createApp(projectDir: string, options: CreateAppOptions) { const isExternal = isExternalTemplate(template); + let owner = ''; + let createLink = 'https://echo.merit.systems/new'; + if (isExternal) { + const repoPath = resolveTemplateRepo(template); + owner = repoPath.split('/')[0] || ''; log.step(`Using external template: ${template}`); + if (owner) { + createLink += `?ref=${owner}`; + log.step(`Auto-applying referral for template creator: ${owner}. Use the link below when creating a new app to register it.`); + } else { + log.warning('Could not extract template owner for referral; using default creation link.'); + } } else { const templateName = template as TemplateName; log.step(`Selected template: ${DEFAULT_TEMPLATES[templateName].title}`); @@ -290,7 +301,7 @@ async function createApp(projectDir: string, options: CreateAppOptions) { placeholder: 'Enter your app ID...', validate: (value: string) => { if (!value.trim()) { - return 'Please enter an App ID or create one at https://echo.merit.systems/new'; + return `Please enter an App ID or create one at ${createLink} to auto-register the referral (if applicable).`; } return; }, @@ -302,6 +313,8 @@ async function createApp(projectDir: string, options: CreateAppOptions) { } appId = enteredAppId; + } else if (isExternal && owner) { + log.warning(`App ID provided via CLI; referral for ${owner} cannot be auto-registered for existing apps. Create new apps via ${createLink} to apply referrals.`); } log.step(`Using App ID: ${appId}`); @@ -490,7 +503,7 @@ async function main() { .argument('[directory]', 'Directory to create the app in') .option( '-t, --template