/** * Telemetry type definitions for operational analytics * * Privacy-first design: * - No user data collection * - No personally identifiable information * - No telemetry from elements or user content * - Anonymous installation tracking only * - Easy opt-out via DOLLHOUSE_TELEMETRY=false * * Data collected: * - Installation ID (anonymous UUID) * - Server version * - Operating system type * - Node.js version * - MCP client type * - Timestamp */ /** * Installation event recorded on first run or version upgrade * Contains only technical metadata for operational insights */ export interface InstallationEvent { /** Event type identifier */ event: 'install'; /** Anonymous installation UUID (persistent per installation) */ install_id: string; /** Server version (semver) */ version: string; /** Operating system platform */ os: string; /** Node.js version string */ node_version: string; /** MCP client environment */ mcp_client: string; /** ISO 8601 timestamp */ timestamp: string; } /** * Telemetry system configuration */ export interface TelemetryConfig { /** Whether telemetry is enabled (respects DOLLHOUSE_TELEMETRY env var) */ enabled: boolean; /** Path to persistent installation ID file */ installIdPath: string; /** Path to telemetry log file */ logPath: string; } /** * Auto-load metrics recorded on server startup */ export interface AutoLoadMetrics { /** ISO 8601 timestamp */ timestamp: string; /** Server version (semver) */ version: string; /** Number of memories loaded */ memoryCount: number; /** Total estimated tokens loaded */ totalTokens: number; /** Time taken to load memories (milliseconds) */ loadTimeMs: number; /** Number of memories skipped */ skippedCount: number; /** Number of warnings issued */ warningCount: number; /** Whether budget was exceeded */ budgetExceeded: boolean; /** Whether auto-load was emergency disabled */ emergencyDisabled: boolean; } /** * Union type of all telemetry event types */ export type TelemetryEventType = 'install' | 'autoload_metrics'; //# sourceMappingURL=types.d.ts.map