Package-level declarations

Types

Link copied to clipboard
@Serializable
data class CapturedAction(val clientId: String, val timestamp: Long, val actionType: String, val actionData: String, val stateDeltaJson: String, val moduleName: String = "", val deltaKind: DeltaKind = DeltaKind.FULL)

Represents a captured action dispatch event.

Link copied to clipboard
@Serializable
data class CapturedLog(val level: String, val category: String, val message: String, val timestampMs: Long)

A log line emitted through io.github.syrou.reaktiv.core.util.ReaktivDebug while a session was being captured.

Link copied to clipboard
@Serializable
data class CrashDiagnosis(val summary: String, val exceptionType: String, val exceptionMessage: String? = null, val location: String? = null, val sourceUrl: String? = null, val route: String? = null, val afterActionIndex: Int = -1, val triggeringAction: String? = null, val recentActions: List<String> = emptyList(), val recentStateChanges: List<String> = emptyList(), val suspects: List<String> = emptyList(), val reproduction: String = "", val text: String = "")
Link copied to clipboard
@Serializable
data class CrashException(val exceptionType: String, val message: String?, val stackTrace: String, val causedBy: CrashException? = null)

Represents exception information captured during a crash.

Link copied to clipboard
@Serializable
data class CrashInfo(val timestamp: Long, val exception: CrashException, val origin: CrashOrigin = CrashOrigin.MANUAL, val logicClass: String? = null, val methodName: String? = null, val callId: String? = null, val route: String? = null, val afterActionIndex: Int = -1)
Link copied to clipboard
@Serializable
enum CrashOrigin : Enum<CrashOrigin>

Crash information with timestamp and exception details.

Link copied to clipboard
@Serializable
enum DeltaKind : Enum<DeltaKind>
Link copied to clipboard
@Serializable
data class ExportedClientInfo(val clientId: String, val clientName: String, val platform: String, val metadata: ClientMetadata? = null)

Basic client information for export.

Link copied to clipboard
class KeyframedReconstructor(initialStateJson: String, actions: List<CapturedAction>, interval: Int = 500)
Link copied to clipboard
class ModuleShadow(initialStateJson: String? = null)
Link copied to clipboard
Link copied to clipboard
@Serializable
data class SessionData(val startTime: Long, val endTime: Long, val initialStateJson: String = "{}", val actions: List<CapturedAction>, val logicStartedEvents: List<LogicMethodStart>, val logicCompletedEvents: List<LogicMethodCompleted>, val logicFailedEvents: List<LogicMethodFailed>, val stateReads: List<StateRead> = emptyList(), val markers: List<SessionMarker> = emptyList(), val network: List<NetworkRequestCapture> = emptyList(), val logs: List<CapturedLog> = emptyList())

The captured session data including actions and logic events.

Link copied to clipboard
@Serializable
data class SessionExport(val version: String = SessionExportFormat.VERSION, val sessionId: String, val exportedAt: Long, val clientInfo: ExportedClientInfo, val crash: CrashInfo? = null, val session: SessionData, val droppedRecords: Long = 0, val crashes: List<CrashInfo> = emptyList(), val diagnosis: CrashDiagnosis? = null, val extensions: Map<String, JsonElement> = emptyMap())

Complete exported session data. This is the JSON format used for import/export of recorded sessions.

Link copied to clipboard

JSON export format version for captured sessions.

Link copied to clipboard
@Serializable
data class SessionMarker(val id: String, val label: String, val note: String = "", val timestampMs: Long, val afterActionIndex: Int = -1, val route: String? = null, val source: String = "device")
Link copied to clipboard

Reconstructs full state from an initial state snapshot and sequential module-level deltas.

Functions

Link copied to clipboard
fun buildCrashDiagnosis(crash: CrashInfo, actions: List<CapturedAction>, logicStarted: List<LogicMethodStart>, logicFailed: List<LogicMethodFailed>): CrashDiagnosis
Link copied to clipboard
Link copied to clipboard
fun mergeFieldJson(baseJson: String, overlayJson: String): String
Link copied to clipboard
fun mergeFields(base: JsonObject, overlay: JsonObject): JsonObject
Link copied to clipboard

Converts a Throwable to a CrashException for serialization.

Link copied to clipboard
fun LogicMethodFailed.toCrashInfo(): CrashInfo

Converts a traced logic failure into the canonical crash envelope.