-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathresolve.ts
More file actions
29 lines (24 loc) · 1.07 KB
/
resolve.ts
File metadata and controls
29 lines (24 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { readGlobalConfig } from '../../lib/schemas/io/global-config.js';
export interface TelemetryPreference {
enabled: boolean;
source: 'environment' | 'global-config' | 'default';
envVar?: { name: string; value: string };
}
const ENV_VAR_NAME = 'AGENTCORE_TELEMETRY_DISABLED';
export async function resolveTelemetryPreference(configFile?: string): Promise<TelemetryPreference> {
const agentcoreEnv = process.env[ENV_VAR_NAME];
if (agentcoreEnv !== undefined) {
const normalized = agentcoreEnv.toLowerCase().trim();
if (normalized === 'false' || normalized === '0') {
return { enabled: true, source: 'environment', envVar: { name: ENV_VAR_NAME, value: agentcoreEnv } };
}
if (normalized !== '') {
return { enabled: false, source: 'environment', envVar: { name: ENV_VAR_NAME, value: agentcoreEnv } };
}
}
const config = await readGlobalConfig(configFile);
if (typeof config.telemetry?.enabled === 'boolean') {
return { enabled: config.telemetry.enabled, source: 'global-config' };
}
return { enabled: true, source: 'default' };
}