Types

Link copied to clipboard
@Serializable
data class ActionDispatched(val event: CapturedAction) : DevToolsMessage

Sent when an action is dispatched. Wraps CapturedAction from introspection.

Link copied to clipboard
@Serializable
data class AddMarkerRequest(val targetClientId: String, val label: String, val note: String = "", val timestampMs: Long? = null, val afterActionIndex: Int = -1) : DevToolsMessage, DevToolsMessage.Targeted

A request from an observer to drop a marker into the target client's capture.

Link copied to clipboard
@Serializable
data class ClientListUpdate(val clients: List<ClientInfo>) : DevToolsMessage
Link copied to clipboard
@Serializable
data class ClientRegistration(val clientName: String, val clientId: String, val platform: String, val isGhost: Boolean = false, val protocolVersion: Int = DevToolsProtocol.LEGACY) : DevToolsMessage
Link copied to clipboard
@Serializable
data class ClientStatus(val clientId: String, val status: ServiceStatus) : DevToolsMessage

A client reporting its own tooling status so observers can see it.

Link copied to clipboard
@Serializable
data class CrashReport(val clientId: String, val crash: CrashInfo, val diagnosis: CrashDiagnosis? = null) : DevToolsMessage, DevToolsMessage.FromClient

Sent when a crash is reported on the publisher. Carries the canonical crash envelope and the diagnosis built from the session.

Link copied to clipboard
@Serializable
data class FetchNetworkBody(val targetClientId: String, val requestId: String, val part: NetworkBodyPart, val offset: Int = 0, val maxBytes: Int = 64 * 1024) : DevToolsMessage, DevToolsMessage.Targeted
Link copied to clipboard
sealed interface FromClient
Link copied to clipboard
@Serializable
data class GhostDeviceRegistration(val sessionId: String, val originalClientInfo: ClientInfo, val crashException: CrashException? = null, val eventCount: Int = 0, val logicEventCount: Int = 0, val sessionStartTime: Long, val sessionEndTime: Long, val sessionExportJson: String? = null) : DevToolsMessage

Registers a ghost device from an imported session. Ghost devices represent recorded sessions that can be replayed.

Link copied to clipboard
@Serializable
data class GhostDeviceRemoval(val ghostClientId: String) : DevToolsMessage

Request to remove a ghost device.

Link copied to clipboard
@Serializable
data class GhostSessionRequest(val ghostClientId: String) : DevToolsMessage

Asks the server for a ghost's session export.

Link copied to clipboard
@Serializable
data class GhostSessionRestore(val ghostClientId: String, val sessionExportJson: String) : DevToolsMessage

Sent by the server in answer to GhostSessionRequest. Contains the full session export JSON so the WASM UI can rebuild its state.

Link copied to clipboard
@Serializable
data class ListenerAttached(val listenerId: String, val role: ClientRole = ClientRole.LISTENER) : DevToolsMessage

Sent by the server to a publisher when a new observer attaches.

Link copied to clipboard
@Serializable
data class LogBatch(val clientId: String, val entries: List<CapturedLog>) : DevToolsMessage, DevToolsMessage.ObservabilityOnly

A batch of device log lines forwarded from a publisher.

Link copied to clipboard
@Serializable
data class LogicMethodCompleted(val clientId: String, val event: LogicMethodCompleted) : DevToolsMessage, DevToolsMessage.FromClient

Sent when a traced logic method completes successfully.

Link copied to clipboard
@Serializable
data class LogicMethodFailed(val clientId: String, val event: LogicMethodFailed) : DevToolsMessage, DevToolsMessage.FromClient

Sent when a traced logic method fails with an exception.

Link copied to clipboard
@Serializable
data class LogicMethodStarted(val clientId: String, val event: LogicMethodStart) : DevToolsMessage, DevToolsMessage.FromClient

Sent when a traced logic method starts execution.

Link copied to clipboard
@Serializable
data class MarkerAdded(val clientId: String, val marker: SessionMarker) : DevToolsMessage, DevToolsMessage.FromClient

A marker captured on the publisher, relayed to observers.

Link copied to clipboard
@Serializable
data class NetworkBatch(val clientId: String, val events: List<NetworkRequestCapture>) : DevToolsMessage, DevToolsMessage.ObservabilityOnly
Link copied to clipboard
@Serializable
data class NetworkBodyChunk(val clientId: String, val requestId: String, val part: NetworkBodyPart, val content: String?, val offset: Int, val nextOffset: Int, val totalBytes: Int, val isLast: Boolean) : DevToolsMessage, DevToolsMessage.FromClient
Link copied to clipboard
Link copied to clipboard
@Serializable
data class PublisherChanged(val newPublisherId: String?, val previousPublisherId: String?, val reason: String) : DevToolsMessage

Notification when the publisher changes.

Link copied to clipboard
@Serializable
data class RegistrationRefused(val reason: String) : DevToolsMessage
Link copied to clipboard
@Serializable
data class RoleAcknowledgment(val clientId: String, val role: ClientRole, val success: Boolean = true, val message: String? = null) : DevToolsMessage
Link copied to clipboard
@Serializable
data class RoleAssignment(val targetClientId: String, val role: ClientRole, val publisherClientId: String? = null) : DevToolsMessage, DevToolsMessage.Targeted
Link copied to clipboard
@Serializable
data class ServiceReply(val clientId: String, val requestId: String, val service: String, val result: JsonElement? = null, val error: String? = null) : DevToolsMessage, DevToolsMessage.ObservabilityOnly
Link copied to clipboard
@Serializable
data class ServiceRequest(val targetClientId: String, val requestId: String, val service: String, val request: String, val payload: JsonElement = JsonNull) : DevToolsMessage, DevToolsMessage.Targeted
Link copied to clipboard
@Serializable
data class SessionHistoryChunk(val clientId: String, val chunkIndex: Int, val totalChunks: Int, val history: SessionHistory) : DevToolsMessage, DevToolsMessage.FromClient

One slice of a large session history. The first chunk carries the initial state snapshot; receivers append slices in chunkIndex order.

Link copied to clipboard
@Serializable
data class SessionHistorySync(val clientId: String, val history: SessionHistory) : DevToolsMessage, DevToolsMessage.FromClient

Sent by a publisher to sync its session history on connect. Allows the WASM orchestrator to track and export the session.

Link copied to clipboard
@Serializable
data class StateReadReport(val clientId: String, val read: StateRead) : DevToolsMessage, DevToolsMessage.FromClient
Link copied to clipboard
@Serializable
data class StateSync(val fromClientId: String, val timestamp: Long, val stateJson: String, val moduleName: String = "") : DevToolsMessage
Link copied to clipboard
sealed interface Targeted