11import { Command } from '@oclif/core' ;
22import { provisionCIToken } from '../../api/ci-token.client.ts' ;
33import { ensureUserSetup } from '../../api/user-setup.client.ts' ;
4+ import { refreshIdentityFromStoredToken , track } from '../../service/analytics.svc.ts' ;
45import { requireAccessToken } from '../../service/auth.svc.ts' ;
56import { saveCIToken } from '../../service/ci-token.svc.ts' ;
67import { getErrorMessage } from '../../service/log.svc.ts' ;
@@ -17,10 +18,28 @@ export default class AuthProvisionCiToken extends Command {
1718 this . error ( `Must be logged in to provision CI token. Run 'hd auth login' first. ${ getErrorMessage ( error ) } ` ) ;
1819 }
1920
21+ try {
22+ await refreshIdentityFromStoredToken ( ) ;
23+ } catch ( error ) {
24+ this . warn ( `Failed to refresh analytics identity: ${ getErrorMessage ( error ) } ` ) ;
25+ }
26+
27+ track ( 'CLI CI Token Provision Started' , ( context ) => ( {
28+ command : 'auth provision-ci-token' ,
29+ app_used : context . app_used ,
30+ ci_provider : context . ci_provider ,
31+ cli_version : context . cli_version ,
32+ started_at : context . started_at ,
33+ } ) ) ;
34+
2035 let orgId : number ;
2136 try {
2237 orgId = await ensureUserSetup ( ) ;
2338 } catch ( error ) {
39+ track ( 'CLI CI Token Provision Failed' , ( ) => ( {
40+ command : 'auth provision-ci-token' ,
41+ error : `user_setup_failed:${ getErrorMessage ( error ) } ` ,
42+ } ) ) ;
2443 this . error ( `User setup failed. ${ getErrorMessage ( error ) } ` ) ;
2544 }
2645
@@ -32,7 +51,14 @@ export default class AuthProvisionCiToken extends Command {
3251 this . log ( '' ) ;
3352 this . log ( 'For CI/CD, set this environment variable:' ) ;
3453 this . log ( ` HD_CI_CREDENTIAL=${ refreshToken } ` ) ;
54+ track ( 'CLI CI Token Provision Succeeded' , ( ) => ( {
55+ command : 'auth provision-ci-token' ,
56+ } ) ) ;
3557 } catch ( error ) {
58+ track ( 'CLI CI Token Provision Failed' , ( ) => ( {
59+ command : 'auth provision-ci-token' ,
60+ error : `provision_failed:${ getErrorMessage ( error ) } ` ,
61+ } ) ) ;
3662 this . error ( `CI token provisioning failed. ${ getErrorMessage ( error ) } ` ) ;
3763 }
3864 }
0 commit comments