pub enum Requirement {
MailRelay,
CeremonyPage(Ceremony),
PaymentsProxy,
}Expand description
A deployment prerequisite a built-in’s calls depend on.
A closed, exhaustively matchable taxonomy of the STATIC, versioned facts a
built-in family needs configured before any call of its own can do
anything, sibling to ToolOrigin in the same “static shape of the
built-in surface” sense. Carries only the fact, never remedy text: the
copy a person reads about a missing prerequisite belongs to the surface
that renders it (an approval card, a status tool), not to this taxonomy.
Extending the taxonomy means adding a variant here and teaching
polyc_tools::capability::builtin_requirements (crates/tools) which
built-ins need it, and DeploymentCapabilities::is_viable which
deployment fact answers it — the harness’s builtin_surface_guard fails
closed if either side is left out (a requirement no built-in resolves to,
or a built-in a requirement can’t classify).
Variants§
MailRelay
A usable outbound mail relay (credentials/token valid, not merely a
relay URL set — a missing URL alone falls back to a hosted default).
link_email needs this to actually deliver a verification message.
CeremonyPage(Ceremony)
A configured browser-facing ceremony page — see Ceremony.
PaymentsProxy
The outbound-payments proxy: a settlement currency and a way to sign
(a deployment env signer or a caller’s own delegated wallet key).
paid_fetch needs this to ever send a payment.
Implementations§
Source§impl Requirement
impl Requirement
Sourcepub const ALL: [Self; 4]
pub const ALL: [Self; 4]
Every concrete Requirement value, in declaration order — the
enumeration DeploymentCapabilities::viable_names and
Self::from_name iterate over, and the harness guard’s
dead-variant check walks.
Sourcepub const fn as_str(self) -> &'static str
pub const fn as_str(self) -> &'static str
Stable kebab-case name, used on the wire
(TurnInput.viable_requirements) and as a telemetry label. Inverse of
Self::from_name.
Trait Implementations§
Source§impl Clone for Requirement
impl Clone for Requirement
Source§fn clone(&self) -> Requirement
fn clone(&self) -> Requirement
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more