Behaviour and compiler for operation sources.
Operation sources normalize external executable surfaces into
Jidoka.Agent.Spec.Operation data plus one runtime capability. The turn loop
still sees a single operation model.
Summary
Callbacks
Returns the runtime capability that executes operations from a source.
Returns portable source metadata when the source supports it.
Returns the model-visible operations exposed by a source.
Functions
Loads the runtime capability from one operation source.
Compiles one or more sources into operation data and one routed capability.
Loads portable metadata from one operation source.
Loads model-visible operations from one operation source.
Types
@type compiled() :: %{ operations: [Jidoka.Agent.Spec.Operation.t()], capability: Jidoka.Operation.Capability.t(), metadata: [map()] }
@type source() :: struct()
Callbacks
@callback capability( source(), keyword() ) :: {:ok, Jidoka.Operation.Capability.t()} | {:error, term()}
Returns the runtime capability that executes operations from a source.
Returns portable source metadata when the source supports it.
@callback operations( source(), keyword() ) :: {:ok, [Jidoka.Agent.Spec.Operation.t()]} | {:error, term()}
Returns the model-visible operations exposed by a source.
Functions
@spec capability( source(), keyword() ) :: {:ok, Jidoka.Operation.Capability.t()} | {:error, term()}
Loads the runtime capability from one operation source.
Compiles one or more sources into operation data and one routed capability.
Loads portable metadata from one operation source.
@spec operations( source(), keyword() ) :: {:ok, [Jidoka.Agent.Spec.Operation.t()]} | {:error, term()}
Loads model-visible operations from one operation source.