Interface ProcessIO


public interface ProcessIO

Process Input and Output Schema

A Process can declare optional schemas for what it consumes as input and what it produces as output on successful completion. These schemas let the engine validate wiring between a parent Process and a sub-Process invoked via SubProcessTask, and give subsystems like the Workflow Editor and AI tools a precise description of the Process's interface.

Input schema

Declared via Process.inputDS (full DataSource) or Process.inputFields (shorthand Array of DataSourceField used to build a temporary DataSource). When a caller provides an input record (either at top-level via Process.start() or through a SubProcessTask), the record is validated against the schema before the Process starts. On failure the Process does not start; the caller receives a ProcessFailure with code:"inputValidation".

Output schema

Declared via Process.outputDS or Process.outputFields. When the Process reaches handleFinished the engine computes the output value (see Process.getOutput()) and validates it against the schema. A mismatch becomes a ProcessFailure with code:"outputValidation".

Recoverable vs infrastructure errors

Recoverable errors that are part of the Process's normal behavior belong inside the declared outputDS (for example as nullable errorCode/errorMessage fields). Infrastructure failures (AI unavailable, JS exceptions, input/output schema mismatches, cancellation, ancestor-cycle deadlocks) travel through the distinct Process.failed() channel as a ProcessFailure record.