chore: initialize recovered claude workspace
This commit is contained in:
55
src/utils/privacyLevel.ts
Normal file
55
src/utils/privacyLevel.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* Privacy level controls how much nonessential network traffic and telemetry
|
||||
* Claude Code generates.
|
||||
*
|
||||
* Levels are ordered by restrictiveness:
|
||||
* default < no-telemetry < essential-traffic
|
||||
*
|
||||
* - default: Everything enabled.
|
||||
* - no-telemetry: Analytics/telemetry disabled (Datadog, 1P events, feedback survey).
|
||||
* - essential-traffic: ALL nonessential network traffic disabled
|
||||
* (telemetry + auto-updates, grove, release notes, model capabilities, etc.).
|
||||
*
|
||||
* The resolved level is the most restrictive signal from:
|
||||
* CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC → essential-traffic
|
||||
* DISABLE_TELEMETRY → no-telemetry
|
||||
*/
|
||||
|
||||
type PrivacyLevel = 'default' | 'no-telemetry' | 'essential-traffic'
|
||||
|
||||
export function getPrivacyLevel(): PrivacyLevel {
|
||||
if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) {
|
||||
return 'essential-traffic'
|
||||
}
|
||||
if (process.env.DISABLE_TELEMETRY) {
|
||||
return 'no-telemetry'
|
||||
}
|
||||
return 'default'
|
||||
}
|
||||
|
||||
/**
|
||||
* True when all nonessential network traffic should be suppressed.
|
||||
* Equivalent to the old `process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` check.
|
||||
*/
|
||||
export function isEssentialTrafficOnly(): boolean {
|
||||
return getPrivacyLevel() === 'essential-traffic'
|
||||
}
|
||||
|
||||
/**
|
||||
* True when telemetry/analytics should be suppressed.
|
||||
* True at both `no-telemetry` and `essential-traffic` levels.
|
||||
*/
|
||||
export function isTelemetryDisabled(): boolean {
|
||||
return getPrivacyLevel() !== 'default'
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the env var name responsible for the current essential-traffic restriction,
|
||||
* or null if unrestricted. Used for user-facing "unset X to re-enable" messages.
|
||||
*/
|
||||
export function getEssentialTrafficOnlyReason(): string | null {
|
||||
if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) {
|
||||
return 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC'
|
||||
}
|
||||
return null
|
||||
}
|
||||
Reference in New Issue
Block a user