/** * Dev Types * * Consolidated type definitions for the dev CLI wrapper. * * @since v1.42.0 */ import type { Tier } from '../../core/types/auth.js'; /** * Dev CLI application phases */ export type DevPhase = 'start-screen' | 'transitioning' | 'running' | 'paused'; /** * Dev action types for recording */ export type DevActionType = 'keypress' | 'navigation' | 'command' | 'workflow-start' | 'workflow-complete' | 'workflow-error' | 'tier-change' | 'state-change' | 'marker-created' | 'note-added'; /** * Recorded dev action */ export interface DevAction { type: DevActionType; timestamp: number; data: Record; } /** * Dev session configuration (set on start screen) */ export interface DevSessionConfig { tier: Tier; sessionName: string; autoRecord: boolean; } /** * Dev context state */ export interface DevContextState { /** Current phase of the dev CLI */ phase: DevPhase; /** Session configuration */ config: DevSessionConfig; /** Whether currently recording */ isRecording: boolean; /** Whether operations are paused (for marker creation) */ isPaused: boolean; /** Pause reason (shown to user) */ pauseReason: string | null; /** Number of markers in current session */ markerCount: number; /** Number of recorded actions */ actionCount: number; } /** * Dev context actions */ export interface DevContextActions { /** Start the Pluginator session (goes to transition first) */ startSession: (config: DevSessionConfig) => void; /** Complete transition and start running */ completeTransition: () => void; /** Return to start screen */ returnToStart: () => void; /** Change tier override */ setTier: (tier: Tier) => void; /** Toggle recording */ toggleRecording: () => void; /** Start recording */ startRecording: () => void; /** Stop recording */ stopRecording: () => void; /** Pause operations (for marker creation) */ pauseOperations: (reason: string) => void; /** Resume operations */ resumeOperations: () => void; /** Record an action from the main app */ recordAction: (action: DevAction) => void; /** Increment marker count */ incrementMarkerCount: () => void; /** Update session name */ setSessionName: (name: string) => void; } /** * Full dev context value */ export interface DevContextValue extends DevContextState, DevContextActions { } /** * Props passed to main App when in dev mode */ export interface DevModeProps { /** Dev mode is active */ devMode: true; /** Tier override from dev tools */ tierOverride: Tier; /** Callback when user performs an action (for recording) */ onAction?: (action: DevAction) => void; /** Whether operations should be paused */ isPaused: boolean; /** Pause reason to display */ pauseReason: string | null; } /** * Default dev session config */ export declare const DEFAULT_DEV_SESSION_CONFIG: DevSessionConfig; /** * Default dev context state */ export declare const DEFAULT_DEV_CONTEXT_STATE: DevContextState; /** * Generate a default session name with timestamp */ export declare function generateDefaultSessionName(): string; //# sourceMappingURL=dev-types.d.ts.map