Markup

works.iterative.claude.ui.transcript.Markup
See theMarkup companion object
enum Markup

The tree a producer emits.

The vocabulary is one thing but reaches a page two ways — as DOM built by the custom element, and as HTML written by a server. Describing the tree instead of building either one is what lets both say the same thing: the tags, the attributes and the nesting are decided once, in TranscriptMarkup, and a producer only knows how to walk this.

There are two leaves, and the difference between them is the point. Markup.Text is what a person or an agent wrote, which every producer escapes. Markup.Html is markup this module produced, and it can hold nothing but a Prose — a type no caller outside the transcript package can construct from transcript text. So a producer is never left deciding which of the two a value is.

Attributes

Companion
object
Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Type members

Enum entries

final case class Element(tag: String, attributes: List[(String, String)], children: List[Markup])

One element: its tag, the attributes a host styles by, and its children.

One element: its tag, the attributes a host styles by, and its children.

Attributes

final case class Html(prose: Prose)

Prose this module rendered, placed as the markup it already is.

Prose this module rendered, placed as the markup it already is.

Attributes

final case class Text(value: String)

Text as a person or an agent wrote it.

Text as a person or an agent wrote it.

Attributes