The Logic family contains 7 operators. Control flow: if/else, switch, loops, joins, waits.
Routes data based on a CEL condition.
Version 1.0.0 · Semantics passthrough · Idempotent
| Field | Type | Required | Default | Description |
|---|
condition | string | yes | — | CEL expression that evaluates to boolean. |
| Port | Type | Required | Description |
|---|
input | any | yes | Input |
| Port | Type | Required | Description |
|---|
false | any | no | False |
true | any | no | True |
Fans out: executes downstream once per item in input array.
Version 1.0.0 · Semantics fan_out
| Field | Type | Required | Default | Description |
|---|
concurrency | integer | no | 1 | |
| Port | Type | Required | Description |
|---|
input | array | yes | Input |
| Port | Type | Required | Description |
|---|
item | any | no | Item |
results | array | no | Results |
Waits for all upstream branches before continuing.
Version 1.0.0 · Semantics fan_in · Idempotent
| Field | Type | Required | Default | Description |
|---|
n | integer | no | — | |
strategy | ”all” | “any” | “n_of” | no | "all" | |
| Port | Type | Required | Description |
|---|
a | any | yes | Branch A |
b | any | yes | Branch B |
| Port | Type | Required | Description |
|---|
output | any | no | Output |
Repeats a subgraph until a condition is met or max iterations reached.
Version 1.0.0 · Semantics passthrough · Visibility advanced
| Field | Type | Required | Default | Description |
|---|
condition | string | yes | — | CEL expression; loop continues while true. |
max_iterations | integer | no | 100 | |
| Port | Type | Required | Description |
|---|
input | any | yes | Input |
| Port | Type | Required | Description |
|---|
iteration | integer | no | Iteration |
output | any | no | Output |
Routes data to one of N branches based on a CEL expression.
Version 1.0.0 · Semantics passthrough · Idempotent · Visibility advanced
| Field | Type | Required | Default | Description |
|---|
cases | object[] | no | — | |
expression | string | yes | — | CEL expression to match. |
| Port | Type | Required | Description |
|---|
input | any | yes | Input |
| Port | Type | Required | Description |
|---|
default | any | no | Default |
Pauses execution for a specified duration.
Version 1.0.0 · Semantics suspend
| Field | Type | Required | Default | Description |
|---|
duration_seconds | integer | yes | 30 | |
timeout_action | ”continue” | “fail” | no | "continue" | |
| Port | Type | Required | Description |
|---|
input | any | yes | Input |
| Port | Type | Required | Description |
|---|
output | any | no | Output |
Suspends until a matching external event or timeout.
Version 1.0.0 · Semantics suspend · Visibility advanced
| Field | Type | Required | Default | Description |
|---|
correlation_token | string | no | — | |
event_type | string | yes | — | |
timeout_action | ”continue” | “fail” | no | "fail" | |
timeout_seconds | integer | no | 3600 | |
| Port | Type | Required | Description |
|---|
input | any | yes | Input |
| Port | Type | Required | Description |
|---|
output | any | no | Event Payload |
timed_out | boolean | no | Timed Out |
Every operator above is rendered from its JSON schema in /opt/glyph/schemas/operators/:
schemas/operators/logic.if.json
schemas/operators/logic.iterate.json
schemas/operators/logic.join.json
schemas/operators/logic.loop.json
schemas/operators/logic.switch.json
schemas/operators/logic.wait.json
schemas/operators/logic.wait_for_event.json