A structured output the synthesizer returns when interpreting user intent. Describes what the interactive actor should do next.
Summary
Types
@type plan_kind() ::
:tool_call
| :multi_tool_plan
| :output_proposal
| :explain_only
| :request_approval
| :workflow_trigger
@type risk_level() :: :low | :medium | :high
@type t() :: %Cyclium.Intent.ActionPlan{ approval: map() | nil, explanation: binary() | nil, kind: plan_kind(), meta: map(), output: Cyclium.OutputProposal.t() | nil, risk: risk_level(), steps: [Cyclium.Intent.ToolCallStep.t()], tool: Cyclium.Intent.ToolCallStep.t() | nil, why: binary(), workflow: Cyclium.Intent.WorkflowTrigger.t() | nil }