encodeFrameWithMetadata

internal fun encodeFrameWithMetadata(frame: AnyFrame, rowLimit: Int? = null, customEncoders: List<CustomEncoder> = emptyList()): JsonArray

Unlike encodeFrame, this is the wire format of the Kotlin Notebook plugin, described in docs/serialization_format.md: every row has to be an object with one entry per column of frame. So the unnamed value/array columns are encoded as regular columns here, instead of as the JSON record they were read from.