pub struct TeamActionRequest {Show 13 fields
pub id: String,
pub kind: CollaborationRequestKind,
pub status: CollaborationActionStatus,
pub requested_at: DateTime<Utc>,
pub requested_by_agent_id: Option<String>,
pub requested_for_agent_ids: Vec<String>,
pub requested_for_roles: Vec<AgentRole>,
pub requested_for_actor_kinds: Vec<ApprovalActorKind>,
pub approval_scope: Option<ApprovalScope>,
pub note: Option<String>,
pub resolved_at: Option<DateTime<Utc>>,
pub resolved_by_agent_id: Option<String>,
pub resolution_note: Option<String>,
}Expand description
Actionable request embedded in a collaboration message.
Fields§
§id: StringStable request identifier.
kind: CollaborationRequestKindRequest category.
status: CollaborationActionStatusCurrent action status.
requested_at: DateTime<Utc>When the request was opened.
requested_by_agent_id: Option<String>Request author if known.
requested_for_agent_ids: Vec<String>Explicit agent recipients.
requested_for_roles: Vec<AgentRole>Role-based recipients.
requested_for_actor_kinds: Vec<ApprovalActorKind>Approval actor kinds allowed to act.
approval_scope: Option<ApprovalScope>Approval scope when the request is tied to a gate.
note: Option<String>Optional request note.
resolved_at: Option<DateTime<Utc>>When the request was resolved.
resolved_by_agent_id: Option<String>Who resolved the request.
resolution_note: Option<String>Optional resolution note.
Implementations§
Source§impl TeamActionRequest
impl TeamActionRequest
Sourcepub fn new(
kind: CollaborationRequestKind,
requested_by_agent_id: Option<String>,
note: Option<String>,
) -> Self
pub fn new( kind: CollaborationRequestKind, requested_by_agent_id: Option<String>, note: Option<String>, ) -> Self
Build a new actionable request.
Sourcepub fn resolve(
&mut self,
status: CollaborationActionStatus,
resolved_by_agent_id: Option<String>,
resolution_note: Option<String>,
)
pub fn resolve( &mut self, status: CollaborationActionStatus, resolved_by_agent_id: Option<String>, resolution_note: Option<String>, )
Mark the request resolved or otherwise answered.
Sourcepub fn requires_attention(&self) -> bool
pub fn requires_attention(&self) -> bool
Whether the request still requires attention.
Trait Implementations§
Source§impl Clone for TeamActionRequest
impl Clone for TeamActionRequest
Source§fn clone(&self) -> TeamActionRequest
fn clone(&self) -> TeamActionRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TeamActionRequest
impl Debug for TeamActionRequest
Source§impl<'de> Deserialize<'de> for TeamActionRequest
impl<'de> Deserialize<'de> for TeamActionRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TeamActionRequest
impl RefUnwindSafe for TeamActionRequest
impl Send for TeamActionRequest
impl Sync for TeamActionRequest
impl Unpin for TeamActionRequest
impl UnwindSafe for TeamActionRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].