ServerSetupState
data class ServerSetupState(val showBackNavArrow: Boolean = false, val step: ServerSetupState.Step = Step.SOURCE, val mode: ServerSource = ServerSource.AUTOMATIC1111, val platform: Platform = Platform.ANDROID, val allowedModes: List<ServerSource> = remoteSetupSources, val sourceSearchQuery: String = "", val sourceTypeFilter: ServerSourceType? = null, val sourceReadinessFilters: Set<ServerSourceReadiness> = emptySet(), val sourceTagFilters: Set<FeatureTag> = emptySet(), val sourceSortOrder: ServerSetupState.SourceSortOrder = SourceSortOrder.DEFAULT, val allowLocalCustomModels: Boolean = true, val modal: ServerSetupState.Modal = Modal.None, val loadingConfiguration: Boolean = true, val serverUrl: String = "", val swarmUiUrl: String = "", val hordeApiKey: String = "", val huggingFaceApiKey: String = "", val openAiApiKey: String = "", val stabilityAiApiKey: String = "", val falAiApiKey: String = "", val arliAiApiKey: String = "", val hordeDefaultApiKey: Boolean = false, val demoMode: Boolean = false, val demoModeUrl: String = "", val authType: ServerSetupState.AuthType = AuthType.ANONYMOUS, val login: String = "", val password: String = "", val huggingFaceModels: List<String> = emptyList(), val huggingFaceModel: String = HuggingFaceModel.default.alias, val localOnnxModels: List<ServerSetupState.LocalModel> = emptyList(), val localOnnxCustomModel: Boolean = false, val localOnnxCustomModelPath: String = "", val localMediaPipeModels: List<ServerSetupState.LocalModel> = emptyList(), val localMediaPipeCustomModel: Boolean = false, val localMediaPipeCustomModelPath: String = "", val localSdxlModels: List<ServerSetupState.LocalModel> = emptyList(), val localSdxlCustomModel: Boolean = false, val localSdxlCustomModelPath: String = "", val localCoreMlModels: List<ServerSetupState.LocalModel> = emptyList(), val localCoreMlCustomModelPath: String = "", val localBonsaiModels: List<ServerSetupState.LocalModel> = emptyList(), val localBonsaiCustomModel: Boolean = false, val localBonsaiCustomModelPath: String = "", val passwordVisible: Boolean = false, val serverUrlValidationError: ServerSetupState.ValidationError? = null, val swarmUiUrlValidationError: ServerSetupState.ValidationError? = null, val loginValidationError: ServerSetupState.ValidationError? = null, val passwordValidationError: ServerSetupState.ValidationError? = null, val hordeApiKeyValidationError: ServerSetupState.ValidationError? = null, val huggingFaceApiKeyValidationError: ServerSetupState.ValidationError? = null, val openAiApiKeyValidationError: ServerSetupState.ValidationError? = null, val stabilityAiApiKeyValidationError: ServerSetupState.ValidationError? = null, val falAiApiKeyValidationError: ServerSetupState.ValidationError? = null, val arliAiApiKeyValidationError: ServerSetupState.ValidationError? = null, val localCustomOnnxPathValidationError: ServerSetupState.ValidationError? = null, val localCustomMediaPipePathValidationError: ServerSetupState.ValidationError? = null, val localCustomSdxlPathValidationError: ServerSetupState.ValidationError? = null, val localCustomBonsaiPathValidationError: ServerSetupState.ValidationError? = null) : MviState(source)
Immutable UI state for the provider setup wizard.
The first group of fields controls provider discovery and filtering, the middle group stores per-provider form inputs, and the local model lists mirror downloadable model state for each local runtime. Derived properties expose the active provider's local model selection.
Constructors
Link copied to clipboard
constructor(showBackNavArrow: Boolean = false, step: ServerSetupState.Step = Step.SOURCE, mode: ServerSource = ServerSource.AUTOMATIC1111, platform: Platform = Platform.ANDROID, allowedModes: List<ServerSource> = remoteSetupSources, sourceSearchQuery: String = "", sourceTypeFilter: ServerSourceType? = null, sourceReadinessFilters: Set<ServerSourceReadiness> = emptySet(), sourceTagFilters: Set<FeatureTag> = emptySet(), sourceSortOrder: ServerSetupState.SourceSortOrder = SourceSortOrder.DEFAULT, allowLocalCustomModels: Boolean = true, modal: ServerSetupState.Modal = Modal.None, loadingConfiguration: Boolean = true, serverUrl: String = "", swarmUiUrl: String = "", hordeApiKey: String = "", huggingFaceApiKey: String = "", openAiApiKey: String = "", stabilityAiApiKey: String = "", falAiApiKey: String = "", arliAiApiKey: String = "", hordeDefaultApiKey: Boolean = false, demoMode: Boolean = false, demoModeUrl: String = "", authType: ServerSetupState.AuthType = AuthType.ANONYMOUS, login: String = "", password: String = "", huggingFaceModels: List<String> = emptyList(), huggingFaceModel: String = HuggingFaceModel.default.alias, localOnnxModels: List<ServerSetupState.LocalModel> = emptyList(), localOnnxCustomModel: Boolean = false, localOnnxCustomModelPath: String = "", localMediaPipeModels: List<ServerSetupState.LocalModel> = emptyList(), localMediaPipeCustomModel: Boolean = false, localMediaPipeCustomModelPath: String = "", localSdxlModels: List<ServerSetupState.LocalModel> = emptyList(), localSdxlCustomModel: Boolean = false, localSdxlCustomModelPath: String = "", localCoreMlModels: List<ServerSetupState.LocalModel> = emptyList(), localCoreMlCustomModelPath: String = "", localBonsaiModels: List<ServerSetupState.LocalModel> = emptyList(), localBonsaiCustomModel: Boolean = false, localBonsaiCustomModelPath: String = "", passwordVisible: Boolean = false, serverUrlValidationError: ServerSetupState.ValidationError? = null, swarmUiUrlValidationError: ServerSetupState.ValidationError? = null, loginValidationError: ServerSetupState.ValidationError? = null, passwordValidationError: ServerSetupState.ValidationError? = null, hordeApiKeyValidationError: ServerSetupState.ValidationError? = null, huggingFaceApiKeyValidationError: ServerSetupState.ValidationError? = null, openAiApiKeyValidationError: ServerSetupState.ValidationError? = null, stabilityAiApiKeyValidationError: ServerSetupState.ValidationError? = null, falAiApiKeyValidationError: ServerSetupState.ValidationError? = null, arliAiApiKeyValidationError: ServerSetupState.ValidationError? = null, localCustomOnnxPathValidationError: ServerSetupState.ValidationError? = null, localCustomMediaPipePathValidationError: ServerSetupState.ValidationError? = null, localCustomSdxlPathValidationError: ServerSetupState.ValidationError? = null, localCustomBonsaiPathValidationError: ServerSetupState.ValidationError? = null)
Types
Link copied to clipboard
Link copied to clipboard
data class LocalModel(val id: String, val name: String, val size: String, val sources: List<String> = emptyList(), val downloaded: Boolean = false, val downloadState: DownloadState = DownloadState.Unknown, val selected: Boolean = false)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Functions
Link copied to clipboard
Link copied to clipboard
Checks whether adding readiness keeps the filter set non-empty.
Link copied to clipboard
Checks whether adding tag keeps the filter set non-empty.
Link copied to clipboard
Checks whether selecting type can still produce at least one provider.
Link copied to clipboard
private fun ServerSetupState.validateApiKey(key: String, stringValidator: CommonStringValidator, useDefault: Boolean = false, update: ServerSetupState.(ServerSetupState.ValidationError?) -> ServerSetupState): ServerSetupValidationResult
Link copied to clipboard
private fun ServerSetupState.validateLocalModel(customModel: Boolean, customModelPath: String, hasDownloadedSelection: Boolean, filePathValidator: FilePathValidator, update: ServerSetupState.(ServerSetupState.ValidationError?) -> ServerSetupState): ServerSetupValidationResult
Link copied to clipboard
internal fun ServerSetupState.validateServerSetup(urlValidator: UrlValidator, stringValidator: CommonStringValidator, filePathValidator: FilePathValidator): ServerSetupValidationResult
Validates the currently selected provider form.
Link copied to clipboard
private fun ServerSetupState.validateServerUrlAndCredentials(url: String, urlValidator: UrlValidator, stringValidator: CommonStringValidator): ServerSetupValidationResult
Link copied to clipboard
Applies provider search, filters, and sort order to the available source list.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard