satisfiesType

fun satisfiesType(boundInstance: Any, type: String): Boolean

Does the bound instance satisfy the type.

Matches in this order:

  1. JVM hierarchy — class simple-name, or any supertype's simple-name / FQN.

  2. DomainType hierarchy — when the value implements DomainInstance (e.g. a value backed by a DynamicType declared in YAML rather than a JVM class), the value also satisfies its DomainType.name, DomainType.ownLabel, and any parent label or name. This is what lets pack-declared types (HubSpotContactCreated, StripeChargeFailed, …) satisfy preconditions and action inputs even though the carrying JVM class is a generic carrier.

  3. Tagged map — when the value is a Map<String, Any?> carrying the TYPE_NAME_KEY (and optionally TYPE_LABELS_KEY for parent types), those names are matched against type. Lets pack-authored tools and sandbox script returns participate in type-aware matching without a carrier class.