LemonCore. Events. ApprovalRequested
(lemon_core v0.1.0)
View Source
A tool call is blocked awaiting approval. Published on exec_approvals, where two chat
plugins, the ACP server and the requesting process itself are listening.
Summary
Functions
The LemonCore.Event type atom this payload is published under.
Payload version. Bumped only for a breaking field change (see the semver table in docs/platform/bus-events.md §4.3).
The struct's field names, in declaration order.
Build from a legacy map, coercing the nested pending record.
Build the payload, raising on unknown or missing keys.
Types
@type t() :: %LemonCore.Events.ApprovalRequested{ approval_id: String.t(), pending: LemonCore.Events.ApprovalPending.t() }
Functions
@spec event_type() :: atom()
The LemonCore.Event type atom this payload is published under.
@spec event_version() :: pos_integer()
Payload version. Bumped only for a breaking field change (see the semver table in docs/platform/bus-events.md §4.3).
@spec fields() :: [atom()]
The struct's field names, in declaration order.
@spec from_map(map() | struct() | keyword()) :: struct()
@spec from_map(map() | struct() | keyword()) :: t()
Build from a legacy map, coercing the nested pending record.
Build the payload, raising on unknown or missing keys.
This is the publisher-side constructor: a typo should fail at the point of publish, not silently produce a payload with a nil field that a consumer reads as absent.