···55// This file was automatically generated from Lexicon schemas.
66// Any manual changes will be overwritten on the next regeneration.
7788+///Advertises an account as currently offering live content.
99+#[derive(
1010+ serde::Serialize,
1111+ serde::Deserialize,
1212+ Debug,
1313+ Clone,
1414+ PartialEq,
1515+ Eq,
1616+ Hash,
1717+ jacquard_derive::IntoStatic
1818+)]
1919+pub struct Live;
2020+impl std::fmt::Display for Live {
2121+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2222+ write!(f, "live")
2323+ }
2424+}
2525+826///A declaration of a Bluesky account status.
927#[jacquard_derive::lexicon]
1028#[derive(
···3636pub mod unmute_thread;
3737pub mod verification;
38383939+///A list of actors used for curation purposes such as list feeds or interaction gating.
4040+#[derive(
4141+ serde::Serialize,
4242+ serde::Deserialize,
4343+ Debug,
4444+ Clone,
4545+ PartialEq,
4646+ Eq,
4747+ Hash,
4848+ jacquard_derive::IntoStatic
4949+)]
5050+pub struct Curatelist;
5151+impl std::fmt::Display for Curatelist {
5252+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5353+ write!(f, "curatelist")
5454+ }
5555+}
5656+3957#[jacquard_derive::lexicon]
4058#[derive(
4159 serde::Serialize,
···237255 pub muted: std::option::Option<bool>,
238256}
239257258258+///A list of actors to apply an aggregate moderation action (mute/block) on.
259259+#[derive(
260260+ serde::Serialize,
261261+ serde::Deserialize,
262262+ Debug,
263263+ Clone,
264264+ PartialEq,
265265+ Eq,
266266+ Hash,
267267+ jacquard_derive::IntoStatic
268268+)]
269269+pub struct Modlist;
270270+impl std::fmt::Display for Modlist {
271271+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
272272+ write!(f, "modlist")
273273+ }
274274+}
275275+240276///indicates that a handle or DID could not be resolved
241277#[jacquard_derive::lexicon]
242278#[derive(
···253289 #[serde(borrow)]
254290 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
255291 pub not_found: bool,
292292+}
293293+294294+///A list of actors used for only for reference purposes such as within a starter pack.
295295+#[derive(
296296+ serde::Serialize,
297297+ serde::Deserialize,
298298+ Debug,
299299+ Clone,
300300+ PartialEq,
301301+ Eq,
302302+ Hash,
303303+ jacquard_derive::IntoStatic
304304+)]
305305+pub struct Referencelist;
306306+impl std::fmt::Display for Referencelist {
307307+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
308308+ write!(f, "referencelist")
309309+ }
256310}
257311258312///lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)
···55// This file was automatically generated from Lexicon schemas.
66// Any manual changes will be overwritten on the next regeneration.
7788+///Going to the event
99+#[derive(
1010+ serde::Serialize,
1111+ serde::Deserialize,
1212+ Debug,
1313+ Clone,
1414+ PartialEq,
1515+ Eq,
1616+ Hash,
1717+ jacquard_derive::IntoStatic
1818+)]
1919+pub struct Going;
2020+impl std::fmt::Display for Going {
2121+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2222+ write!(f, "going")
2323+ }
2424+}
2525+2626+///Interested in the event
2727+#[derive(
2828+ serde::Serialize,
2929+ serde::Deserialize,
3030+ Debug,
3131+ Clone,
3232+ PartialEq,
3333+ Eq,
3434+ Hash,
3535+ jacquard_derive::IntoStatic
3636+)]
3737+pub struct Interested;
3838+impl std::fmt::Display for Interested {
3939+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4040+ write!(f, "interested")
4141+ }
4242+}
4343+844///An RSVP for an event.
945#[jacquard_derive::lexicon]
1046#[derive(
···26622763impl jacquard_common::types::collection::Collection for Rsvp<'_> {
2864 const NSID: &'static str = "community.lexicon.calendar.rsvp";
6565+}
6666+6767+///Not going to the event
6868+#[derive(
6969+ serde::Serialize,
7070+ serde::Deserialize,
7171+ Debug,
7272+ Clone,
7373+ PartialEq,
7474+ Eq,
7575+ Hash,
7676+ jacquard_derive::IntoStatic
7777+)]
7878+pub struct Notgoing;
7979+impl std::fmt::Display for Notgoing {
8080+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8181+ write!(f, "notgoing")
8282+ }
2983}
-6
crates/jacquard-api/src/events_smokesignal.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// This file was automatically generated from Lexicon schemas.
44-// Any manual changes will be overwritten on the next regeneration.
55-66-pub mod automation;
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// This file was automatically generated from Lexicon schemas.
44-// Any manual changes will be overwritten on the next regeneration.
55-66-pub mod invoke_webhook;
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// Lexicon: events.smokesignal.automation.InvokeWebhook
44-//
55-// This file was automatically generated from Lexicon schemas.
66-// Any manual changes will be overwritten on the next regeneration.
77-88-#[jacquard_derive::lexicon]
99-#[derive(
1010- serde::Serialize,
1111- serde::Deserialize,
1212- Debug,
1313- Clone,
1414- PartialEq,
1515- Eq,
1616- bon::Builder,
1717- jacquard_derive::IntoStatic
1818-)]
1919-#[serde(rename_all = "camelCase")]
2020-#[builder(start_fn = new)]
2121-pub struct InvokeWebhook<'a> {
2222- #[serde(borrow)]
2323- pub context: InvokeWebhookRecordContext<'a>,
2424- #[serde(borrow)]
2525- #[builder(into)]
2626- pub event: jacquard_common::CowStr<'a>,
2727- #[serde(borrow)]
2828- pub record: InvokeWebhookRecordRecord<'a>,
2929- #[serde(flatten)]
3030- #[serde(borrow)]
3131- #[builder(default)]
3232- pub extra_data: ::std::collections::BTreeMap<
3333- ::jacquard_common::smol_str::SmolStr,
3434- ::jacquard_common::types::value::Data<'a>,
3535- >,
3636-}
3737-3838-#[jacquard_derive::lexicon]
3939-#[derive(
4040- serde::Serialize,
4141- serde::Deserialize,
4242- Debug,
4343- Clone,
4444- PartialEq,
4545- Eq,
4646- jacquard_derive::IntoStatic
4747-)]
4848-#[serde(rename_all = "camelCase")]
4949-pub struct InvokeWebhookOutput<'a> {}
5050-///Response type for
5151-///events.smokesignal.automation.InvokeWebhook
5252-pub struct InvokeWebhookResponse;
5353-impl jacquard_common::xrpc::XrpcResp for InvokeWebhookResponse {
5454- const NSID: &'static str = "events.smokesignal.automation.InvokeWebhook";
5555- const ENCODING: &'static str = "application/json";
5656- type Output<'de> = InvokeWebhookOutput<'de>;
5757- type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
5858-}
5959-6060-impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for InvokeWebhook<'de> {
6161- const NSID: &'static str = "events.smokesignal.automation.InvokeWebhook";
6262- const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
6363- "application/json",
6464- );
6565- type Response = InvokeWebhookResponse;
6666-}
6767-6868-///Endpoint type for
6969-///events.smokesignal.automation.InvokeWebhook
7070-pub struct InvokeWebhookRequest;
7171-impl jacquard_common::xrpc::XrpcEndpoint for InvokeWebhookRequest {
7272- const PATH: &'static str = "/xrpc/events.smokesignal.automation.InvokeWebhook";
7373- const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
7474- "application/json",
7575- );
7676- type Request<'de> = InvokeWebhook<'de>;
7777- type Response = InvokeWebhookResponse;
7878-}
-6
crates/jacquard-api/src/lol_atmo.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// This file was automatically generated from Lexicon schemas.
44-// Any manual changes will be overwritten on the next regeneration.
55-66-pub mod link;
-28
crates/jacquard-api/src/lol_atmo/link.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// Lexicon: lol.atmo.link
44-//
55-// This file was automatically generated from Lexicon schemas.
66-// Any manual changes will be overwritten on the next regeneration.
77-88-#[jacquard_derive::lexicon]
99-#[derive(
1010- serde::Serialize,
1111- serde::Deserialize,
1212- Debug,
1313- Clone,
1414- PartialEq,
1515- Eq,
1616- jacquard_derive::IntoStatic
1717-)]
1818-#[serde(rename_all = "camelCase")]
1919-pub struct Link<'a> {
2020- #[serde(borrow)]
2121- pub short: jacquard_common::CowStr<'a>,
2222- #[serde(borrow)]
2323- pub url: jacquard_common::CowStr<'a>,
2424-}
2525-2626-impl jacquard_common::types::collection::Collection for Link<'_> {
2727- const NSID: &'static str = "lol.atmo.link";
2828-}
-7
crates/jacquard-api/src/lol_skittr.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// This file was automatically generated from Lexicon schemas.
44-// Any manual changes will be overwritten on the next regeneration.
55-66-pub mod actor;
77-pub mod server;
-7
crates/jacquard-api/src/lol_skittr/actor.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// This file was automatically generated from Lexicon schemas.
44-// Any manual changes will be overwritten on the next regeneration.
55-66-pub mod get_theme;
77-pub mod theme;
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// Lexicon: lol.skittr.actor.getTheme
44-//
55-// This file was automatically generated from Lexicon schemas.
66-// Any manual changes will be overwritten on the next regeneration.
77-88-#[derive(
99- serde::Serialize,
1010- serde::Deserialize,
1111- Debug,
1212- Clone,
1313- PartialEq,
1414- Eq,
1515- bon::Builder,
1616- jacquard_derive::IntoStatic
1717-)]
1818-#[builder(start_fn = new)]
1919-#[serde(rename_all = "camelCase")]
2020-pub struct GetTheme<'a> {
2121- #[serde(borrow)]
2222- pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
2323-}
2424-2525-#[jacquard_derive::lexicon]
2626-#[derive(
2727- serde::Serialize,
2828- serde::Deserialize,
2929- Debug,
3030- Clone,
3131- PartialEq,
3232- Eq,
3333- jacquard_derive::IntoStatic
3434-)]
3535-#[serde(rename_all = "camelCase")]
3636-pub struct GetThemeOutput<'a> {
3737- #[serde(flatten)]
3838- #[serde(borrow)]
3939- pub value: crate::lol_skittr::actor::theme::Theme<'a>,
4040-}
4141-4242-///Response type for
4343-///lol.skittr.actor.getTheme
4444-pub struct GetThemeResponse;
4545-impl jacquard_common::xrpc::XrpcResp for GetThemeResponse {
4646- const NSID: &'static str = "lol.skittr.actor.getTheme";
4747- const ENCODING: &'static str = "application/json";
4848- type Output<'de> = GetThemeOutput<'de>;
4949- type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
5050-}
5151-5252-impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetTheme<'de> {
5353- const NSID: &'static str = "lol.skittr.actor.getTheme";
5454- const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
5555- type Response = GetThemeResponse;
5656-}
5757-5858-///Endpoint type for
5959-///lol.skittr.actor.getTheme
6060-pub struct GetThemeRequest;
6161-impl jacquard_common::xrpc::XrpcEndpoint for GetThemeRequest {
6262- const PATH: &'static str = "/xrpc/lol.skittr.actor.getTheme";
6363- const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
6464- type Request<'de> = GetTheme<'de>;
6565- type Response = GetThemeResponse;
6666-}
-39
crates/jacquard-api/src/lol_skittr/actor/theme.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// Lexicon: lol.skittr.actor.theme
44-//
55-// This file was automatically generated from Lexicon schemas.
66-// Any manual changes will be overwritten on the next regeneration.
77-88-///Profile customization values
99-#[jacquard_derive::lexicon]
1010-#[derive(
1111- serde::Serialize,
1212- serde::Deserialize,
1313- Debug,
1414- Clone,
1515- PartialEq,
1616- Eq,
1717- jacquard_derive::IntoStatic
1818-)]
1919-#[serde(rename_all = "camelCase")]
2020-pub struct Theme<'a> {
2121- ///A background image, must be either PNG or JPEG
2222- #[serde(skip_serializing_if = "std::option::Option::is_none")]
2323- #[serde(borrow)]
2424- pub background: std::option::Option<jacquard_common::types::blob::Blob<'a>>,
2525- #[serde(borrow)]
2626- pub bg_color: jacquard_common::CowStr<'a>,
2727- #[serde(borrow)]
2828- pub link_color: jacquard_common::CowStr<'a>,
2929- #[serde(borrow)]
3030- pub side_border: jacquard_common::CowStr<'a>,
3131- #[serde(borrow)]
3232- pub side_color: jacquard_common::CowStr<'a>,
3333- #[serde(borrow)]
3434- pub text_color: jacquard_common::CowStr<'a>,
3535-}
3636-3737-impl jacquard_common::types::collection::Collection for Theme<'_> {
3838- const NSID: &'static str = "lol.skittr.actor.theme";
3939-}
-6
crates/jacquard-api/src/lol_skittr/server.rs
···11-// @generated by jacquard-lexicon. DO NOT EDIT.
22-//
33-// This file was automatically generated from Lexicon schemas.
44-// Any manual changes will be overwritten on the next regeneration.
55-66-pub mod get_meta;
···127127 type Err<'de>: Error + Deserialize<'de> + IntoStatic;
128128}
129129130130+/// XRPC server endpoint trait
131131+///
132132+/// Defines the fully-qualified path and method, as well as request and response types
133133+/// This exists primarily to work around lifetime issues for crates like Axum
134134+/// by moving the lifetime from the trait itself into an associated type.
135135+///
136136+/// It is implemented by the code generation on a marker struct, like the client-side [XrpcResp] trait.
137137+pub trait XrpcEndpoint {
138138+ /// Fully-qualified path ('/xrpc/[nsid]') where this endpoint should live on the server
139139+ const PATH: &'static str;
140140+ /// XRPC method (query/GET or procedure/POST)
141141+ const METHOD: XrpcMethod;
142142+ /// XRPC Request data type
143143+ type Request<'de>: XrpcRequest<'de> + IntoStatic;
144144+ /// XRPC Response data type
145145+ type Response: XrpcResp;
146146+}
147147+130148/// Error type for XRPC endpoints that don't define any errors
131149#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
132150pub struct GenericError<'a>(#[serde(borrow)] Data<'a>);
···481499 builder
482500 .body(body)
483501 .map_err(|e| TransportError::InvalidRequest(e.to_string()))
484484-}
485485-486486-pub trait XrpcEndpoint {
487487- const PATH: &'static str;
488488- const METHOD: XrpcMethod;
489489- type Request<'de>: XrpcRequest<'de> + IntoStatic;
490490- type Response: XrpcResp;
491502}
492503493504/// XRPC response wrapper that owns the response buffer