Skip to main content

Terminal reference

A terminal consumes messages and ends a branch; it has no output ports and nothing can be wired from it. All terminals are always part of the server. The default node timeout is 30 seconds idle.

CONSOLE_TERMINAL

Logs each payload.
  • Options: none.
  • Behaviour: writes the payload at DEBUG; at INFO only a message count appears. Payloads can carry personal data or secrets, so leave DEBUG off for sensitive branches.

NOTIFY_TERMINAL

Sends each message as a JSON webhook (POST {"text": "..."}, Slack-compatible), one at a time, in order.
  • Egress: the URL is checked against yukta.egress.*.
  • Errors: url is not a valid URL; url must be https (http only for localhost).

OUTCOME_TERMINAL

Names the exit a run took so a supervisor (or a parent SUB_WORKFLOW) can act on it. Put one at the end of each exit.
  • Behaviour: the outcome, restartFrom and reason are added to the metadata of the node’s SUCCESS status event, only when the run reached the node.
  • Errors: outcome must be one of [ESCALATE, FAILED, RETRY, SUCCESS].

SUPERVISOR_DECISION

Ends a workflow that decides for a supervisor with its commands. The message it receives holds {"commands": [{"type": "PauseWorkflow", "executionId": "..."}]}; every command must be one the supervisor contract reads, or the run fails.
  • Limit: a decision holds at most 10 commands (A decision holds at most 10 commands, not <n>).