@lanonasis/cli
Version:
Professional CLI for LanOnasis Memory as a Service (MaaS) with MCP support, seamless inline editing, and enterprise-grade security
73 lines (72 loc) • 2.18 kB
TypeScript
/**
* Onboarding Flow Implementation
*
* Guides new users through initial setup and configuration
* Implementation of the OnboardingFlow interface.
*/
import { OnboardingFlow, SetupResult, TestResult, UserPreferences, OnboardingState } from '../interfaces/OnboardingFlow.js';
/**
* OnboardingFlowImpl guides new users through initial setup and configuration
*
* This implementation detects first-run scenarios, creates working default configurations,
* tests all major functionality, and provides interactive demonstrations.
*/
export declare class OnboardingFlowImpl implements OnboardingFlow {
private onboardingState;
private configPath;
private connectionManager;
private textInputHandler;
constructor(configPath?: string);
/**
* Run the complete initial setup process for new users
*/
runInitialSetup(): Promise<SetupResult>;
/**
* Detect if this is a first-run scenario
*/
detectFirstRun(): boolean;
/**
* Configure working default settings for immediate productivity
*/
configureDefaults(): Promise<void>;
/**
* Test connectivity and functionality of all major components
*/
testConnectivity(): Promise<TestResult[]>;
/**
* Show welcome demonstration of key features
*/
showWelcomeDemo(): Promise<void>;
/**
* Get the current onboarding state
*/
getOnboardingState(): OnboardingState;
/**
* Update user preferences during onboarding
*/
updateUserPreferences(preferences: Partial<UserPreferences>): Promise<void>;
/**
* Skip the current onboarding step
*/
skipCurrentStep(reason?: string): Promise<void>;
/**
* Complete the onboarding process
*/
completeOnboarding(): Promise<void>;
/**
* Reset onboarding state (for testing or re-running)
*/
resetOnboarding(): Promise<void>;
/**
* Gather user preferences interactively
*/
private gatherUserPreferences;
/**
* Save the current onboarding state to disk
*/
private saveOnboardingState;
/**
* Load onboarding state from disk
*/
private loadOnboardingState;
}