pub struct MatrixConfig {
pub homeserver: String,
pub access_token: String,
pub user_id: Option<String>,
pub device_id: Option<String>,
pub room_id: String,
pub allowed_users: Vec<String>,
pub allowed_rooms: Vec<String>,
pub interrupt_on_new_message: bool,
pub stream_mode: StreamMode,
pub draft_update_interval_ms: u64,
pub multi_message_delay_ms: u64,
pub recovery_key: Option<String>,
}Expand description
Matrix channel configuration.
Fields§
§homeserver: StringMatrix homeserver URL (e.g. "https://matrix.org").
access_token: StringMatrix access token for the bot account.
user_id: Option<String>Optional Matrix user ID (e.g. "@bot:matrix.org").
device_id: Option<String>Optional Matrix device ID.
room_id: StringMatrix room ID to listen in (e.g. "!abc123:matrix.org").
allowed_users: Vec<String>Allowed Matrix user IDs. Empty = deny all.
allowed_rooms: Vec<String>Allowed Matrix room IDs or aliases. Empty = allow all rooms.
Supports canonical room IDs (!abc:server) and aliases (#room:server).
interrupt_on_new_message: boolWhether to interrupt an in-flight agent response when a new message arrives.
stream_mode: StreamModeStreaming mode for progressive response delivery.
"off" (default): single message. "partial": edit-in-place draft.
"multi_message": paragraph-split delivery.
draft_update_interval_ms: u64Minimum interval (ms) between draft message edits in Partial mode.
multi_message_delay_ms: u64Delay (ms) between sending each paragraph in MultiMessage mode.
recovery_key: Option<String>Optional Matrix recovery key for automatic E2EE key backup restore. When set, Construct recovers room keys and cross-signing secrets on startup.
Trait Implementations§
Source§impl ChannelConfig for MatrixConfig
impl ChannelConfig for MatrixConfig
Source§impl Clone for MatrixConfig
impl Clone for MatrixConfig
Source§fn clone(&self) -> MatrixConfig
fn clone(&self) -> MatrixConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MatrixConfig
impl Debug for MatrixConfig
Source§impl<'de> Deserialize<'de> for MatrixConfig
impl<'de> Deserialize<'de> for MatrixConfig
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>,
Source§impl JsonSchema for MatrixConfig
impl JsonSchema for MatrixConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for MatrixConfig
impl RefUnwindSafe for MatrixConfig
impl Send for MatrixConfig
impl Sync for MatrixConfig
impl Unpin for MatrixConfig
impl UnsafeUnpin for MatrixConfig
impl UnwindSafe for MatrixConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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>
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