40 using Clock = std::function<std::chrono::steady_clock::time_point()>;
41 using Entropy = std::function<std::optional<std::vector<std::uint8_t>>(std::size_t)>;
43 std::chrono::milliseconds)>;
49 Clock clock = [] {
return std::chrono::steady_clock::now(); };
73 std::unique_ptr<Impl> impl_;
~ControlBrokerConsentAuthority()
ControlBrokerConsentAuthority & operator=(const ControlBrokerConsentAuthority &)=delete
ControlBrokerConsentAuthority(const ControlBrokerConsentAuthority &)=delete
ControlBrokerConsentAuthority(ControlBrokerConsentAuthorityConfig config={})
void reset() noexcept
Invalidates an in-flight result.
ControlConsentDecision decide(const ControlGrantConsentRequest &request)
Definition agent_context.hpp:7
ControlConsentPromptResult
Definition control_consent_authority.hpp:14
@ Approved
Definition control_consent_authority.hpp:15
@ TimedOut
Definition control_consent_authority.hpp:17
@ Denied
Definition audit.hpp:17
@ Unavailable
Definition capabilities.hpp:47
Definition control_consent_authority.hpp:39
Clock clock
Definition control_consent_authority.hpp:49
std::function< ControlConsentPromptResult(const ControlConsentPrompt &, std::chrono::milliseconds)> Prompt
Definition control_consent_authority.hpp:42
std::function< std::optional< std::vector< std::uint8_t > >(std::size_t)> Entropy
Definition control_consent_authority.hpp:41
std::function< std::chrono::steady_clock::time_point()> Clock
Definition control_consent_authority.hpp:40
Prompt prompt
Empty selects the broker-owned native macOS prompt.
Definition control_consent_authority.hpp:53
std::size_t maximum_tracked_clients
Definition control_consent_authority.hpp:48
std::chrono::milliseconds client_prompt_cooldown
Definition control_consent_authority.hpp:47
std::chrono::milliseconds prompt_timeout
Definition control_consent_authority.hpp:45
Entropy entropy
Definition control_consent_authority.hpp:50
std::chrono::milliseconds global_prompt_cooldown
Definition control_consent_authority.hpp:46
Definition control_grants.hpp:34
Definition control_consent_authority.hpp:21
std::string client_executable_display
Definition control_consent_authority.hpp:29
std::string build_display
Definition control_consent_authority.hpp:34
std::string selector_display
Definition control_consent_authority.hpp:36
std::string primary_message
User-facing action and exact grant scope.
Definition control_consent_authority.hpp:25
std::string artifact_digest_display
Definition control_consent_authority.hpp:35
std::string instance_display
Definition control_consent_authority.hpp:32
std::string approve_label
Definition control_consent_authority.hpp:28
std::string target_publisher_display
Definition control_consent_authority.hpp:33
std::string technical_details_display
Definition control_consent_authority.hpp:27
std::string plugin_display
Definition control_consent_authority.hpp:31
ControlGrantConsentRequest request
Definition control_consent_authority.hpp:22
std::string requested_operations_display
Definition control_consent_authority.hpp:26
std::string client_publisher_display
Definition control_consent_authority.hpp:30
Consent input assembled only after the broker has authenticated the client and resolved an exact live...
Definition control_grants.hpp:78