UNPKG

xc-mcp

Version:

MCP server that wraps Xcode command-line tools for iOS/macOS development workflows

87 lines 2.46 kB
/** * Enhanced Simulator Lifecycle State Management * * Tracks state transitions and prevents race conditions in concurrent operations */ export declare enum SimulatorState { Unknown = "Unknown", Creating = "Creating", Booting = "Booting", Booted = "Booted", Shutting = "Shutting", Shutdown = "Shutdown", Erasing = "Erasing", Erased = "Erased" } export interface SimulatorStateTransition { fromState: SimulatorState; toState: SimulatorState; operation: string; timestamp: number; duration?: number; success?: boolean; error?: string; } export interface PendingOperation { operationId: string; operation: string; startTime: number; simulator: string; } export declare class EnhancedSimulatorLifecycle { private simulatorStates; private stateTransitions; private operationQueues; private bootingPromises; private transitionLocks; /** * Get current simulator state */ getState(udid: string): SimulatorState; /** * Record a state transition */ recordTransition(udid: string, from: SimulatorState, to: SimulatorState, operation: string, success: boolean, error?: string): void; /** * Get state transition history */ getTransitionHistory(udid: string): SimulatorStateTransition[]; /** * Queue an operation for a simulator */ queueOperation(udid: string, operationId: string, operation: string): void; /** * Get pending operations for simulator */ getPendingOperations(udid: string): PendingOperation[]; /** * Clear pending operations */ clearPendingOperations(udid: string): void; /** * Wait for boot to complete */ waitForBoot(udid: string): Promise<void>; /** * Prevent concurrent operations of same type on same simulator */ acquireLock(udid: string): boolean; /** * Release lock */ releaseLock(udid: string): void; /** * Get lifecycle summary */ getSummary(udid: string): { udid: string; currentState: SimulatorState | undefined; transitionCount: number; lastTransition: SimulatorStateTransition | undefined; pendingOperations: number; operations: PendingOperation[]; isLocked: boolean; }; } export declare const enhancedSimulatorLifecycle: EnhancedSimulatorLifecycle; //# sourceMappingURL=simulator-lifecycle-enhanced.d.ts.map