Jidoka.Runtime.Controls (Jidoka v0.8.0-beta.1)

Copy Markdown View Source

Runtime boundary for evaluating declared agent controls.

Controls are executable code, so they live in the runtime shell rather than the pure Runic workflow steps.

Summary

Types

boundary_control()

operation_control()

@type operation_control() :: Jidoka.Agent.Spec.Controls.Operation.t()

Functions

run_input_controls(state)

@spec run_input_controls(Jidoka.Turn.State.t()) ::
  {:ok, Jidoka.Turn.State.t()} | {:error, term()}

run_operation_controls(state, intent)

@spec run_operation_controls(Jidoka.Turn.State.t(), Jidoka.Effect.Intent.t()) ::
  {:ok, Jidoka.Turn.State.t()}
  | {:interrupt, Jidoka.Review.Interrupt.t(), Jidoka.Turn.State.t()}
  | {:error, term()}

run_output_controls(state)

@spec run_output_controls(Jidoka.Turn.State.t()) ::
  {:ok, Jidoka.Turn.State.t()} | {:error, term()}