Package-level declarations

Types

Link copied to clipboard
data class AgentStatus(val sdkVersion: String, val protocolVersion: Int, val lifecycle: String, val deviceId: String?, val scopeId: String?, val deviceOwner: Boolean, val lanPermissionGranted: Boolean, val desiredRevision: Long, val lastResult: String, val policies: List<PolicyStatus>, val serverOrigin: String? = null, val lastSyncUnixMillis: Long = 0, val syncSequence: Long = 0, val pendingReports: Int = 0, val applications: List<ApplicationStatus> = emptyList(), val operations: List<InstallationStatus> = emptyList(), val commands: List<CommandStatus> = emptyList(), val network: NetworkLifecycleStatus? = null)

Sanitized local observation. Usage: render the result of Kylok.snapshot(context) { ... }. App observations describe the last authenticated sync; credentials, enrollment QR and keys are excluded.

Link copied to clipboard
data class ApplicationStatus(val packageName: String, val desiredVersion: Long, val observedVersion: Long?, val state: String, val reason: String)

Desired and last-synced versions remain distinct. Usage: render AgentStatus.applications.

Link copied to clipboard
data class CommandStatus(val id: String, val kind: String, val state: String, val errorCode: String)

Local one-shot progress until the server acknowledges its result. Usage: render AgentStatus.commands; dispatch tokens are excluded.

Link copied to clipboard
class EnrollmentWorker(context: Context, params: WorkerParameters) : Worker
Link copied to clipboard
data class HostOptions(val syncIntervalMinutes: Long = 15, val retryBackoffSeconds: Long = 30, val wakeJitterSeconds: Int = 5)

Immutable process-local host options. Reapply them in Application.onCreate after every process start. These tune scheduling only; enrolled origins, credentials, policy checks and OS ownership remain SDK controlled. Usage: Kylok.configure(this, HostOptions(syncIntervalMinutes = 30)) in your Application.

Link copied to clipboard
data class InstallationStatus(val id: String, val packageName: String, val version: Long, val stage: String, val downloadedBytes: Long, val sizeBytes: Long, val error: String, val requiresUserAction: Boolean)

Durable install progress. Usage: offer OS confirmation when requiresUserAction is true.

Link copied to clipboard
object Kylok

Experimental device agent. Components initialize without opening the host Activity.

Link copied to clipboard
Link copied to clipboard
data class NetworkLifecycleStatus(val revision: Long, val state: String, val reason: String, val activeProfileId: String, val connectivityVerified: Boolean, val cleanupComplete: Boolean)

Sanitized network readback without SSIDs, passwords or certificate bytes. Usage: render AgentStatus.network.

Link copied to clipboard
data class PolicyStatus(val ruleId: String, val state: String, val reason: String, val observedValue: String = "")

One local rule result. Usage: render each item in AgentStatus.policies, including its reason.

Link copied to clipboard
fun interface StatusListener

Read-only main-thread notifications. Usage: Kylok.observe(StatusListener { render(it) }).