etdl: "1.0.0"
info:
title: "Inline AsyncAPI-equivalent message definitions"
version: "1.0.0"
domain: "FulfillmentContext"
description: "Minimal fixture exercising Message References resolved against inline components.messages (spec Section 5.3.4/5.4.1) rather than an asyncapi_imports document, plus a bare Channel Reference (spec Section 5.3.5) — both only valid because this document declares no asyncapi_imports at all."
components:
messages:
OrderPlaced:
name: OrderPlaced
payload:
type: object
required: [orderId, qty]
properties:
orderId:
type: string
qty:
type: integer
eventTrees:
InlineMessageCheck:
initiatingEvent:
id: InlineOrderTrigger
message: "#/components/messages/OrderPlaced"
next: QtyBarrier
nodes:
QtyBarrier:
type: barrier
description: "Type-checks `message.payload.qty` against the inline schema's `integer` property."
branches:
- outcome: HAS_QTY
condition: "message.payload.qty > 0"
probability: 0.5
next: SendConsequence
- outcome: OTHER
condition: "default"
probability: 0.5
next: SendConsequence
SendConsequence:
type: consequence
operation: send
channel: "orders-events"
message: "#/components/messages/OrderPlaced"