Cyclium.Intent.PlanPolicy behaviour (Cyclium v0.1.5)

Copy Markdown

Behaviour for app-owned plan policy. The consuming app implements this to control what interactive actors are allowed to do.

Summary

Callbacks

validate_output(ctx, output)

@callback validate_output(ctx :: map(), output :: Cyclium.OutputProposal.t()) ::
  :ok | {:deny, reason :: binary()}

validate_plan(ctx, plan, strategy_cfg)

@callback validate_plan(
  ctx :: map(),
  plan :: Cyclium.Intent.ActionPlan.t(),
  strategy_cfg :: map()
) ::
  :ok | {:deny, reason :: binary()}

validate_tool_args(ctx, tool, args, signature)

@callback validate_tool_args(
  ctx :: map(),
  tool :: binary(),
  args :: map(),
  signature :: Cyclium.Intent.ToolSignature.t()
) :: :ok | {:deny, reason :: binary()}