CatalogResolution

sealed interface CatalogResolution

Why a catalog could not be found for a component or a call.

Carried rather than folded into a SchemaViolation because a renderer answers the two differently: a property the catalog rejects is the agent's mistake to correct, while a catalog the renderer does not hold is a capability mismatch — the renderer said which catalogs it supports, and the surface named another one.

Inheritors

Types

Link copied to clipboard
data class Found(val catalogId: String, val catalog: CatalogDefinition) : CatalogResolution

The catalog to check against, and the id it was found under.

Link copied to clipboard
data class Unknown(val catalogId: String) : CatalogResolution

A catalog was named, but this renderer does not hold it.

Link copied to clipboard

Neither the component nor its surface named a catalog.