@@ -14,11 +14,12 @@ import {
1414 wrapCommandAction ,
1515} from "../cli/common.js" ;
1616import { chalkLink } from "../utilities/colors.js" ;
17- import { readAuthConfigFile , writeAuthConfigFile } from "../utilities/configFiles.js" ;
17+ import { readAuthConfigProfile , writeAuthConfigProfile } from "../utilities/configFiles.js" ;
1818import { getVersion } from "../utilities/getVersion.js" ;
1919import { printInitialBanner } from "../utilities/initialBanner.js" ;
2020import { LoginResult } from "../utilities/session.js" ;
2121import { whoAmI } from "./whoami.js" ;
22+ import { logger } from "../utilities/logger.js" ;
2223
2324export const LoginCommandOptions = CommonCommandOptions . extend ( {
2425 apiUrl : z . string ( ) ,
@@ -48,12 +49,13 @@ export async function loginCommand(options: unknown) {
4849}
4950
5051async function _loginCommand ( options : LoginCommandOptions ) {
51- return login ( { defaultApiUrl : options . apiUrl , embedded : false } ) ;
52+ return login ( { defaultApiUrl : options . apiUrl , embedded : false , profile : options . profile } ) ;
5253}
5354
5455export type LoginOptions = {
5556 defaultApiUrl ?: string ;
5657 embedded ?: boolean ;
58+ profile ?: string ;
5759} ;
5860
5961export async function login ( options ?: LoginOptions ) : Promise < LoginResult > {
@@ -63,16 +65,17 @@ export async function login(options?: LoginOptions): Promise<LoginResult> {
6365
6466 span . setAttributes ( {
6567 "cli.config.apiUrl" : opts . defaultApiUrl ,
68+ "cli.options.profile" : opts . profile ,
6669 } ) ;
6770
6871 if ( ! opts . embedded ) {
6972 intro ( "Logging in to Trigger.dev" ) ;
7073 }
7174
72- const authConfig = readAuthConfigFile ( ) ;
75+ const authConfig = readAuthConfigProfile ( options ?. profile ) ;
7376
7477 if ( authConfig && authConfig . accessToken ) {
75- const whoAmIResult = await whoAmI ( undefined , opts . embedded ) ;
78+ const whoAmIResult = await whoAmI ( { profile : options ?. profile ?? "default" , skipTelemetry : ! span . isRecording ( ) , logLevel : logger . loggerLevel } , opts . embedded ) ;
7679
7780 if ( ! whoAmIResult . success ) {
7881 throw new Error ( whoAmIResult . error ) ;
@@ -106,6 +109,7 @@ export async function login(options?: LoginOptions): Promise<LoginResult> {
106109
107110 return {
108111 ok : true as const ,
112+ profile : options ?. profile ?? "default" ,
109113 userId : whoAmIResult . data . userId ,
110114 email : whoAmIResult . data . email ,
111115 dashboardUrl : whoAmIResult . data . dashboardUrl ,
@@ -126,6 +130,7 @@ export async function login(options?: LoginOptions): Promise<LoginResult> {
126130
127131 return {
128132 ok : true as const ,
133+ profile : options ?. profile ?? "default" ,
129134 userId : whoAmIResult . data . userId ,
130135 email : whoAmIResult . data . email ,
131136 dashboardUrl : whoAmIResult . data . dashboardUrl ,
@@ -170,9 +175,9 @@ export async function login(options?: LoginOptions): Promise<LoginResult> {
170175
171176 getPersonalAccessTokenSpinner . stop ( `Logged in with token ${ indexResult . obfuscatedToken } ` ) ;
172177
173- writeAuthConfigFile ( { accessToken : indexResult . token , apiUrl : opts . defaultApiUrl } ) ;
178+ writeAuthConfigProfile ( { accessToken : indexResult . token , apiUrl : opts . defaultApiUrl } , options ?. profile ) ;
174179
175- const whoAmIResult = await whoAmI ( undefined , opts . embedded ) ;
180+ const whoAmIResult = await whoAmI ( { profile : options ?. profile ?? "default" , skipTelemetry : ! span . isRecording ( ) , logLevel : logger . loggerLevel } , opts . embedded ) ;
176181
177182 if ( ! whoAmIResult . success ) {
178183 throw new Error ( whoAmIResult . error ) ;
@@ -188,6 +193,7 @@ export async function login(options?: LoginOptions): Promise<LoginResult> {
188193
189194 return {
190195 ok : true as const ,
196+ profile : options ?. profile ?? "default" ,
191197 userId : whoAmIResult . data . userId ,
192198 email : whoAmIResult . data . email ,
193199 dashboardUrl : whoAmIResult . data . dashboardUrl ,
0 commit comments