| /** | |
| * Shared analytics configuration | |
| * | |
| * Common logic for determining when analytics should be disabled | |
| * across all analytics systems (Datadog, 1P) | |
| */ | |
| import { isEnvTruthy } from '../../utils/envUtils.js' | |
| import { isTelemetryDisabled } from '../../utils/privacyLevel.js' | |
| /** | |
| * Check if analytics operations should be disabled | |
| * | |
| * Analytics is disabled in the following cases: | |
| * - Test environment (NODE_ENV === 'test') | |
| * - Third-party cloud providers (Bedrock/Vertex) | |
| * - Privacy level is no-telemetry or essential-traffic | |
| */ | |
| export function isAnalyticsDisabled(): boolean { | |
| return ( | |
| process.env.NODE_ENV === 'test' || | |
| isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || | |
| isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || | |
| isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || | |
| isTelemetryDisabled() | |
| ) | |
| } | |
| /** | |
| * Check if the feedback survey should be suppressed. | |
| * | |
| * Unlike isAnalyticsDisabled(), this does NOT block on 3P providers | |
| * (Bedrock/Vertex/Foundry). The survey is a local UI prompt with no | |
| * transcript data — enterprise customers capture responses via OTEL. | |
| */ | |
| export function isFeedbackSurveyDisabled(): boolean { | |
| return process.env.NODE_ENV === 'test' || isTelemetryDisabled() | |
| } | |