()
| 305 | return result; |
| 306 | } |
| 307 | async function logStartupTelemetry(): Promise<void> { |
| 308 | if (isAnalyticsDisabled()) return; |
| 309 | const [isGit, worktreeCount, ghAuthStatus] = await Promise.all([getIsGit(), getWorktreeCount(), getGhAuthStatus()]); |
| 310 | logEvent('tengu_startup_telemetry', { |
| 311 | is_git: isGit, |
| 312 | worktree_count: worktreeCount, |
| 313 | gh_auth_status: ghAuthStatus as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, |
| 314 | sandbox_enabled: SandboxManager.isSandboxingEnabled(), |
| 315 | are_unsandboxed_commands_allowed: SandboxManager.areUnsandboxedCommandsAllowed(), |
| 316 | is_auto_bash_allowed_if_sandbox_enabled: SandboxManager.isAutoAllowBashIfSandboxedEnabled(), |
| 317 | auto_updater_disabled: isAutoUpdaterDisabled(), |
| 318 | prefers_reduced_motion: getInitialSettings().prefersReducedMotion ?? false, |
| 319 | ...getCertEnvVarTelemetry() |
| 320 | }); |
| 321 | } |
| 322 | |
| 323 | // @[MODEL LAUNCH]: Consider any migrations you may need for model strings. See migrateSonnet1mToSonnet45.ts for an example. |
| 324 | // Bump this when adding a new sync migration so existing users re-run the set. |
no test coverage detected