pub struct AppState {Show 38 fields
pub db: Database,
pub config: Arc<RwLock<RoboticusConfig>>,
pub llm: Arc<RwLock<LlmService>>,
pub wallet: Arc<WalletService>,
pub a2a: Arc<RwLock<A2aProtocol>>,
pub personality: Arc<RwLock<PersonalityState>>,
pub hmac_secret: Arc<Vec<u8>>,
pub interviews: Arc<RwLock<HashMap<String, InterviewSession>>>,
pub plugins: Arc<PluginRegistry>,
pub policy_engine: Arc<PolicyEngine>,
pub browser: Arc<Browser>,
pub registry: Arc<SubagentRegistry>,
pub event_bus: EventBus,
pub channel_router: Arc<ChannelRouter>,
pub telegram: Option<Arc<TelegramAdapter>>,
pub whatsapp: Option<Arc<WhatsAppAdapter>>,
pub retriever: Arc<MemoryRetriever>,
pub ann_index: AnnIndex,
pub tools: Arc<ToolRegistry>,
pub approvals: Arc<ApprovalManager>,
pub discord: Option<Arc<DiscordAdapter>>,
pub signal: Option<Arc<SignalAdapter>>,
pub email: Option<Arc<EmailAdapter>>,
pub voice: Option<Arc<RwLock<VoicePipeline>>>,
pub media_service: Option<Arc<MediaService>>,
pub discovery: Arc<RwLock<DiscoveryRegistry>>,
pub devices: Arc<RwLock<DeviceManager>>,
pub mcp_clients: Arc<RwLock<McpClientManager>>,
pub mcp_server: Arc<RwLock<McpServerRegistry>>,
pub oauth: Arc<OAuthManager>,
pub keystore: Arc<Keystore>,
pub obsidian: Option<Arc<RwLock<ObsidianVault>>>,
pub started_at: Instant,
pub config_path: Arc<PathBuf>,
pub config_apply_status: Arc<RwLock<ConfigApplyStatus>>,
pub pending_specialist_proposals: Arc<RwLock<HashMap<String, Value>>>,
pub ws_tickets: TicketStore,
pub rate_limiter: GlobalRateLimitLayer,
}Fields§
§db: Database§config: Arc<RwLock<RoboticusConfig>>§llm: Arc<RwLock<LlmService>>§wallet: Arc<WalletService>§a2a: Arc<RwLock<A2aProtocol>>§personality: Arc<RwLock<PersonalityState>>§hmac_secret: Arc<Vec<u8>>§interviews: Arc<RwLock<HashMap<String, InterviewSession>>>§plugins: Arc<PluginRegistry>§policy_engine: Arc<PolicyEngine>§browser: Arc<Browser>§registry: Arc<SubagentRegistry>§event_bus: EventBus§channel_router: Arc<ChannelRouter>§telegram: Option<Arc<TelegramAdapter>>§whatsapp: Option<Arc<WhatsAppAdapter>>§retriever: Arc<MemoryRetriever>§ann_index: AnnIndex§tools: Arc<ToolRegistry>§approvals: Arc<ApprovalManager>§discord: Option<Arc<DiscordAdapter>>§signal: Option<Arc<SignalAdapter>>§email: Option<Arc<EmailAdapter>>§voice: Option<Arc<RwLock<VoicePipeline>>>§media_service: Option<Arc<MediaService>>§discovery: Arc<RwLock<DiscoveryRegistry>>§devices: Arc<RwLock<DeviceManager>>§mcp_clients: Arc<RwLock<McpClientManager>>§mcp_server: Arc<RwLock<McpServerRegistry>>§oauth: Arc<OAuthManager>§keystore: Arc<Keystore>§obsidian: Option<Arc<RwLock<ObsidianVault>>>§started_at: Instant§config_path: Arc<PathBuf>§config_apply_status: Arc<RwLock<ConfigApplyStatus>>§pending_specialist_proposals: Arc<RwLock<HashMap<String, Value>>>§ws_tickets: TicketStore§rate_limiter: GlobalRateLimitLayerImplementations§
Source§impl AppState
impl AppState
pub async fn reload_personality(&self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppState
impl !RefUnwindSafe for AppState
impl Send for AppState
impl Sync for AppState
impl Unpin for AppState
impl UnsafeUnpin for AppState
impl !UnwindSafe for AppState
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref