/ utils / permissions / autoModeState.ts
autoModeState.ts
 1  // Auto mode state functions — lives in its own module so callers can
 2  // conditionally require() it on feature('TRANSCRIPT_CLASSIFIER').
 3  
 4  let autoModeActive = false
 5  let autoModeFlagCli = false
 6  // Set by the async verifyAutoModeGateAccess check when it
 7  // reads a fresh tengu_auto_mode_config.enabled === 'disabled' from GrowthBook.
 8  // Used by isAutoModeGateEnabled() to block SDK/explicit re-entry after kick-out.
 9  let autoModeCircuitBroken = false
10  
11  export function setAutoModeActive(active: boolean): void {
12    autoModeActive = active
13  }
14  
15  export function isAutoModeActive(): boolean {
16    return autoModeActive
17  }
18  
19  export function setAutoModeFlagCli(passed: boolean): void {
20    autoModeFlagCli = passed
21  }
22  
23  export function getAutoModeFlagCli(): boolean {
24    return autoModeFlagCli
25  }
26  
27  export function setAutoModeCircuitBroken(broken: boolean): void {
28    autoModeCircuitBroken = broken
29  }
30  
31  export function isAutoModeCircuitBroken(): boolean {
32    return autoModeCircuitBroken
33  }
34  
35  export function _resetForTesting(): void {
36    autoModeActive = false
37    autoModeFlagCli = false
38    autoModeCircuitBroken = false
39  }