@@ -27,11 +27,12 @@ export const initAnalytics = () => {
2727 autocapture : true ,
2828 request_batching : true ,
2929
30- // Session replay — mask prompt content (privacy)
30+ // Session replay — always on, mask prompt content (privacy)
31+ disable_session_recording : false ,
3132 session_recording : {
32- maskAllInputs : false , // keep most inputs visible
33- maskInputOptions : { textarea : true } , // mask prompt textarea only
34- recordCrossOriginIframes : false ,
33+ maskAllInputs : false , // keep most inputs visible
34+ maskInputOptions : { textarea : true } , // mask prompt textarea only
35+ recordCrossOriginIframes : false ,
3536 } ,
3637
3738 // Heatmaps
@@ -83,6 +84,10 @@ export const setSource = (source: 'web' | 'extension', aiPlatform?: string) => {
8384// ── Typed event helpers ───────────────────────────────────────────────────────
8485
8586export const analytics = {
87+ // App lifecycle
88+ appLoaded : ( props : { view_mode : string ; locale : string ; is_returning_user : boolean ; source : string } ) =>
89+ track ( 'app_loaded' , props ) ,
90+
8691 // Tour
8792 tourStarted : ( ) => track ( 'tour_started' ) ,
8893 tourStep : ( step : number , title : string ) => track ( 'tour_step' , { step, title } ) ,
@@ -97,10 +102,33 @@ export const analytics = {
97102 promptCopied : ( ) => track ( 'prompt_copied' ) ,
98103 promptExported : ( format : 'txt' | 'json' ) => track ( 'prompt_exported' , { format } ) ,
99104
105+ // View
106+ viewToggled : ( to : 'list' | 'canvas' ) => track ( 'view_toggled' , { to } ) ,
107+
100108 // Blocks
101109 blockAdded : ( type : string ) => track ( 'block_added' , { type } ) ,
102110 blockDeleted : ( type : string ) => track ( 'block_deleted' , { type } ) ,
103111
112+ // Audit
113+ auditOpened : ( ) => track ( 'audit_opened' ) ,
114+ auditBlockAdded : ( type : string ) => track ( 'audit_block_added' , { type } ) ,
115+
116+ // Score / Critic
117+ scoreOpened : ( ) => track ( 'score_opened' ) ,
118+
119+ // Output
120+ outputFormatChanged : ( format : string ) => track ( 'output_format_changed' , { format } ) ,
121+
122+ // Template library
123+ libraryOpened : ( ) => track ( 'library_opened' ) ,
124+ templateApplied : ( id : string , category : string ) => track ( 'template_applied' , { template_id : id , category } ) ,
125+
126+ // Version history
127+ versionPanelOpened : ( ) => track ( 'version_panel_opened' ) ,
128+ versionSaved : ( versionNum : number ) => track ( 'version_saved' , { version_num : versionNum } ) ,
129+ versionRestored : ( versionNum : number ) => track ( 'version_restored' , { version_num : versionNum } ) ,
130+ versionDiffViewed : ( ) => track ( 'version_diff_viewed' ) ,
131+
104132 // Settings
105133 localeChanged : ( locale : string ) => track ( 'locale_changed' , { locale } ) ,
106134
@@ -117,6 +145,7 @@ export const analytics = {
117145 projectCreated : ( ) => track ( 'project_created' ) ,
118146 projectSwitched : ( name : string ) => track ( 'project_switched' , { project_name : name } ) ,
119147 projectDeleted : ( ) => track ( 'project_deleted' ) ,
148+ projectRenamed : ( ) => track ( 'project_renamed' ) ,
120149
121150 // Errors
122151 error : ( context : string , message ?: string ) => track ( 'error' , { context, message } ) ,
0 commit comments