Package-level declarations

Types

Link copied to clipboard

Iterative tokenizer that converts Kotlin toString() output into flat display rows. Uses a class to avoid closure overhead that can cause WASM compiler OOM.

Link copied to clipboard
Link copied to clipboard
sealed class StreamEvent

Unified event type for the event stream, combining actions, logic method events, and crashes.

Link copied to clipboard
data class TextSegment(val text: String, val color: SegmentColor)
Link copied to clipboard
data class TreeRow(val indent: Int, val segments: List<TextSegment>)

Functions

Link copied to clipboard
fun ActionStream(actions: List<ActionStateEvent>, logicMethodEvents: List<LogicMethodEvent> = emptyList(), crashEvent: CrashEventInfo? = null, selectedIndex: Int? = null, selectedLogicMethodCallId: String? = null, crashSelected: Boolean = false, autoSelectLatest: Boolean = true, excludedActionTypes: Set<String>, excludedLogicMethods: Set<String> = emptySet(), callIdToMethodIdentifier: Map<String, String> = emptyMap(), timeTravelEnabled: Boolean = false, showActions: Boolean = true, showLogicMethods: Boolean = true, onSelectAction: (Int?) -> Unit = {}, onSelectLogicMethod: (String?) -> Unit = {}, onSelectCrash: (Boolean) -> Unit = {}, onToggleAutoSelect: () -> Unit = {}, onAddExclusion: (String) -> Unit = {}, onRemoveExclusion: (String) -> Unit = {}, onSetExclusions: (Set<String>) -> Unit = {}, onAddLogicMethodExclusion: (String) -> Unit = {}, onRemoveLogicMethodExclusion: (String) -> Unit = {}, onToggleTimeTravel: () -> Unit = {}, onToggleShowActions: () -> Unit = {}, onToggleShowLogicMethods: () -> Unit = {}, onClear: () -> Unit)

Displays a stream of actions and logic method events from publisher clients.

Link copied to clipboard
fun ClientList(clients: List<ClientInfo>, selectedPublisher: String?, selectedListener: String?, canExportSession: Boolean = false, onPublisherSelected: (String?) -> Unit, onListenerSelected: (String?) -> Unit, onAssignRole: (String, String) -> Unit, onRemoveGhost: (String) -> Unit = {}, onImportGhost: () -> Unit = {}, onExportSession: () -> Unit = {})

Displays the list of connected clients with their roles and platforms.

Link copied to clipboard
fun ConnectionStatus(connectionState: ConnectionState, deviceCount: Int = 0, isDevicePanelExpanded: Boolean = false, onToggleDevicePanel: () -> Unit = {})

Displays the current connection status to the DevTools server.

Link copied to clipboard
fun CrashEventCard(crashEvent: CrashEventInfo, isSelected: Boolean = false, onClick: () -> Unit = {})
Link copied to clipboard
fun GhostImportDialog(onImport: (String) -> Unit, onDismiss: () -> Unit)

Dialog for importing a ghost device session from JSON. Supports both file upload and paste.

Link copied to clipboard
fun GhostPlaybackBar(currentPosition: Int, totalEvents: Int, isPlaying: Boolean, onPositionChange: (Int) -> Unit, onTogglePlayback: () -> Unit, onClose: () -> Unit, modifier: Modifier = Modifier)

Playback control bar for ghost device session replay.

Link copied to clipboard
fun JsonTreeViewer(jsonString: String, previousJsonString: String? = null, searchQuery: String = "", showDiff: Boolean = false, modifier: Modifier = Modifier)

Interactive JSON tree viewer with syntax highlighting and expand/collapse.

Link copied to clipboard
fun KotlinObjectTreeViewer(text: String, modifier: Modifier = Modifier)

Displays a Kotlin toString() output as an indented tree.

Link copied to clipboard
fun StateViewer(actionStateHistory: List<ActionStateEvent>, selectedActionIndex: Int?, logicMethodEvents: List<LogicMethodEvent> = emptyList(), selectedLogicMethodCallId: String? = null, crashEvent: CrashEventInfo? = null, crashSelected: Boolean = false, showAsDiff: Boolean, excludedActionTypes: Set<String>, initialStateJson: String = "{}", onToggleDiffMode: () -> Unit, onClear: () -> Unit)