#[non_exhaustive]pub struct PendingWaitpointInfo {
pub waitpoint_id: WaitpointId,
pub waitpoint_key: String,
pub state: String,
pub required_signal_names: Vec<String>,
pub created_at: TimestampMs,
pub activated_at: Option<TimestampMs>,
pub expires_at: Option<TimestampMs>,
pub execution_id: ExecutionId,
pub token_kid: String,
pub token_fingerprint: String,
}Expand description
One entry in the read-only view of an execution’s active waitpoints.
Returned by EngineBackend::list_pending_waitpoints (and the
GET /v1/executions/{id}/pending-waitpoints REST endpoint).
RFC-017 §8 schema rewrite (Stage D1). This struct no longer
carries the raw HMAC waitpoint_token at the trait boundary — the
backend emits only the sanitised (token_kid, token_fingerprint)
pair. The HTTP handler (see ff-server::api::list_pending_waitpoints)
wraps the trait response and re-injects the real token on the
v0.7.x wire for one-release deprecation warning; the wire field is
removed entirely at v0.8.0.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.waitpoint_id: WaitpointId§waitpoint_key: String§state: StringCurrent waitpoint state: pending, active, closed. Callers
typically filter to pending or active.
required_signal_names: Vec<String>Signal names the resume condition is waiting for. Reviewers that need to drive a specific waitpoint — particularly when multiple concurrent waitpoints exist on one execution — filter on this to pick the right target.
An EMPTY vec means the condition matches any signal (wildcard, per
lua/helpers.lua initialize_condition). Callers must not infer
“no waitpoint” from empty; check state / length of the outer
list for that.
created_at: TimestampMsTimestamp when the waitpoint record was first written.
activated_at: Option<TimestampMs>Timestamp when the waitpoint was activated (suspension landed).
None while the waitpoint is still pending.
expires_at: Option<TimestampMs>Scheduled expiration timestamp. None if no timeout configured.
execution_id: ExecutionIdOwning execution — surfaces without a separate lookup.
token_kid: StringHMAC key identifier (the <kid> prefix of the stored
waitpoint_token). Safe to expose — identifies which signing
key minted the token without revealing the key material.
token_fingerprint: String16-hex-char (8-byte) fingerprint of the HMAC digest. Audit-friendly handle that correlates across logs without being replayable.
Implementations§
Source§impl PendingWaitpointInfo
impl PendingWaitpointInfo
Sourcepub fn new(
waitpoint_id: WaitpointId,
waitpoint_key: String,
state: String,
created_at: TimestampMs,
execution_id: ExecutionId,
token_kid: String,
token_fingerprint: String,
) -> Self
pub fn new( waitpoint_id: WaitpointId, waitpoint_key: String, state: String, created_at: TimestampMs, execution_id: ExecutionId, token_kid: String, token_fingerprint: String, ) -> Self
Construct a PendingWaitpointInfo with the 7 required fields.
Optional fields (activated_at, expires_at) default to
None; use Self::with_activated_at / Self::with_expires_at
to populate them. required_signal_names defaults to empty
(wildcard condition); use Self::with_required_signal_names
to set it.
pub fn with_activated_at(self, activated_at: TimestampMs) -> Self
pub fn with_expires_at(self, expires_at: TimestampMs) -> Self
pub fn with_required_signal_names(self, names: Vec<String>) -> Self
Trait Implementations§
Source§impl Clone for PendingWaitpointInfo
impl Clone for PendingWaitpointInfo
Source§fn clone(&self) -> PendingWaitpointInfo
fn clone(&self) -> PendingWaitpointInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more