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

Copy Markdown View Source

Runtime context passed to controls at the operation boundary.

This is deliberately data-only. Operation controls can inspect the pending operation request and turn state, but they do not execute the operation.

Summary

Types

t()

@type t() :: %Jidoka.Runtime.Controls.OperationContext{
  agent_state: any(),
  arguments: map(),
  boundary: :operation | binary(),
  context: map(),
  control: atom(),
  control_name: binary(),
  idempotency:
    nil
    | nil
    | (:pure | :idempotent | :dedupe | :reconcile | :unsafe_once)
    | binary(),
  idempotency_key: nil | nil | binary(),
  input: binary(),
  intent: any(),
  kind:
    (:action
     | :operation
     | :tool
     | :ash_resource
     | :browser
     | :skill
     | :mcp
     | :workflow
     | :subagent
     | :handoff)
    | binary(),
  metadata: map(),
  operation: binary(),
  operation_kind:
    (:action
     | :operation
     | :tool
     | :ash_resource
     | :browser
     | :skill
     | :mcp
     | :workflow
     | :subagent
     | :handoff)
    | binary(),
  operation_match: map(),
  operation_metadata: map(),
  operation_request: any(),
  operation_spec: nil | nil | any(),
  plan: any(),
  request: any(),
  request_metadata: map(),
  source: nil | nil | binary(),
  spec: any(),
  type: :control | binary()
}

Functions

new(attrs)

@spec new(keyword() | map()) :: {:ok, t()} | {:error, term()}

new!(attrs)

@spec new!(keyword() | map()) :: t()

schema()

@spec schema() :: Zoi.schema()